什么比“不”更“ pythonic”
发布于 2021-01-29 19:36:06
我已经看到了两种方式,但是哪种方式更适合Python?
a = [1, 2, 3]
# version 1
if not 4 in a:
print 'is the not more pythonic?'
# version 2
if 4 not in a:
print 'this haz more engrish'
哪种方法被认为是更好的Python?
关注者
0
被浏览
46
1 个回答
-
第二个选项是Pythonic,原因有两个:
- 它是 一个 运算符,转换为一个字节码操作数。另一行是真的
not (4 in a)
; 两个操作员。
碰巧的是,Python会 优化
后一种情况并转换not (x in y)
成x not in y
任何情况,但这是CPython编译器的实现细节。- 这接近于您在英语中使用相同逻辑的方式。
- 它是 一个 运算符,转换为一个字节码操作数。另一行是真的