使用 if x is not None 还是if not x is None
程序员文章站
2022-03-19 15:57:40
...
使用 if x is not None 还是if not x is None呢?
谷歌的风格指南和PEP-8都使用if x is not None,那么它们之间是否存在某种轻微的性能差异呢?
通过测试发现没有性能差异,因为它们编译为相同的字节码:
Python 2.6.2 (r262:71600, Apr 15 2009, 07:20:39)>>> import dis>>> def f(x):... return x is not None...>>> dis.dis(f) 2 0 LOAD_FAST 0 (x) 3 LOAD_CONST 0 (None) 6 COMPARE_OP 9 (is not) 9 RETURN_VALUE>>> def g(x):... return not x is None...>>> dis.dis(g) 2 0 LOAD_FAST 0 (x) 3 LOAD_CONST 0 (None) 6 COMPARE_OP 9 (is not) 9 RETURN_VALUE
但是在使用风格上,尽量避免not x is y。尽管编译器总是将其视为not (x is y),但读者可能会误解构造为(not x) is y。所以if x is not y就没有这些歧义。
以上就是使用 if x is not None 还是if not x is None的详细内容,更多请关注其它相关文章!
推荐阅读
-
使用Mysql5.x以上版本出现报错#1929 Incorrect datetime value: '''' for column ''createtime''
-
会声会影x7多轨叠加怎么用 多轨叠加效果使用教程
-
教你如大神般使用会声会影x5 会声会影操作小技巧分享
-
详解Python2.x中对Unicode编码的使用
-
会声会影x7怎么使用模板?
-
php使用Jpgraph绘制简单X-Y坐标图的方法
-
php使用Jpgraph绘制复杂X-Y坐标图的方法
-
ASP.NET使用X509Certificate2出现一系列问题的解决方法
-
iPhone 12只能使用X55:苹果错过高通X60基带
-
python中使用zip函数出现
错误的原因