Python中的'not in c'与Python中的'e not in c'是否不同?[重复]
这个问题已经在这里有了答案 :
8年前关闭。
可能重复:
使用“ not”和“ in”关键字的语法顺序
我的助教声称e not in c
并非总是会产生与not e in c
(他没有给出解释的 原因
)相同的结果。我从来没有亲自看过任何人代码中的第二种形式(除了他和他的书中解释了这两种形式 是
等效的),并且从未见过两种形式在行为上有所不同,因此我对此主张表示怀疑。没有通过Google找到任何东西,我决定来这里。
那么,有没有人知道两者的行为有所不同的任何情况的信息?
-
它们完全相同,因为两者都实际应用了
not in
比较:In [25]: def func(): 'e' not in 'bee' ....: ....: In [27]: def func1(): not 'e' in 'bee' ....: ....: In [29]: dis.dis(func) 2 0 LOAD_CONST 1 ('e') 3 LOAD_CONST 2 ('bee') 6 COMPARE_OP 7 (not in) 9 POP_TOP 10 LOAD_CONST 0 (None) 13 RETURN_VALUE In [30]: dis.dis(func1) 2 0 LOAD_CONST 1 ('e') 3 LOAD_CONST 2 ('bee') 6 COMPARE_OP 7 (not in) 9 POP_TOP 10 LOAD_CONST 0 (None) 13 RETURN_VALUE