什么比“不”更“ 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 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    第二个选项是Pythonic,原因有两个:

    • 它是 一个 运算符,转换为一个字节码操作数。另一行是真的not (4 in a); 两个操作员。

    碰巧的是,Python会 优化
    后一种情况
    并转换not (x in y)x not in y任何情况,但这是CPython编译器的实现细节。

    • 这接近于您在英语中使用相同逻辑的方式。


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看