- 上午看了PEP8规范、一些python的文章
- 下午继续看python的文章,对于super继承有了新的认识,对于反射器理解的还不是很透彻,明天继续
Tech
代码技巧
- 提前结束代码,比如使用raise关键字去将几个and条件拆开来
- 函数可以有效封装
- 动态表达式:
f = func1 or func2; f(*args)
,利用参数解构 - 利用 德摩根定律, (A交B)的反 = (A的反)并(B的反)
- 通过对类
__len__
的自定义,来满足类的bool比较 多使用
all()
和any()
1
2def fn(numbers):
return bool(numbers) and all(n > 10 for n in numbers)多使用
try...else
和for...else
陷阱
- 使用
is None
而不是== None
- and的优先级大于or:
True or False and False
和(True or False) and False