我的助教声称e not in c并非总是会产生与not e in c(他没有给出解释的 原因 )相同的结果。我从来没有亲自看过任何人代码中的第二种形式(除了他和他的书中解释了这两种形式 是 等效的),并且从未见过两种形式在行为上有所不同,因此我对此主张表示怀疑。没有通过Google找到任何东西,我决定来这里。
e not in c
not e in c
那么,有没有人知道两者的行为有所不同的任何情况的信息?
它们完全相同,因为两者都实际应用了not in比较:
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