Python入门
Python安装
2024-04-29
安装包下载: https://mirrors.huaweicloud.com/python
生成器
列表生成式
1 | # [0, 1, 2, 3, 4] |
字典生成式
1 | # {'a', 1} |
生成器
1 | # <generator object <genexpr> at 0x103acb2b0> |
定制Python的类
2018-04-08
假设类++实例++为my_class,即my_class = MyClass()
def __iter__(self)
被itor()调用,返回类的迭代器版本用于迭代, 通常使用于for语句等
def __next__(self)
获取下一个元素
在作为迭代器时的iterable接口,若无则会报错
TypeError: 'xx' object is not iterable
在与for语句联合使用时,同时要实现def __iter__(self)以返回迭代器
1 | for item in my_class: |
def __contains__(self, item)
返回True或False: 是否存在item
使用方法
1 | if item in my_class: |
def __bool__(self)
返回返回实体类的布尔属性True或False
1 | if my_class: |
使用decimal计算金额
2024-11-17
在线运行: https://www.online-python.com/
float不精准
1 | >>> int(float('34.61') * 100) |
使用decimal
1 | >>> import decimal |
相关问题
py文件路径存在空格
2018-12-11
当文件或文件夹存在空格时,python xxx/xxx.py命令找不到对应的文件
1 | path=/Users/root/script/python\ script/demo.py |
解决方案
使用 python "xxx.py"
1 | path='/Users/root/script/python script/demo.py' |
json.loads报错
2022-10-12
这个json应该是控制台打印出来的或者浏览器显示的的,所以如果value有"引号时,输出时会添加转义符。如:
1 | {"key":"\"value\""} |
上述json复制到网站格式化是正常的,但如果直接粘贴到代码里就会有报错
1 | >>> import json |
是因为此时的\是转义符,相当于输入了{"key":""value""},自然是个不合法json。我们需要的是json里的转义符而不是python字符串的转义符,所以再添加一个\,如下:
1 | >>> import json |
这样就可以了。但如果json很大,手动逐个添加\并不现实,字符串替换也不方便,我们可以在字符串前加r,使用原始字符串文本
1 | >>> import json |
也可以先把源json写到文件里,再读,因为文件里的\就不再是转义符了
1 | >>> import json |
参考: