Sollte ich verwenden, wenn x nicht None ist oder wenn x nicht None ist?
Googles Styleguide und PEP-8 verwenden beide, wenn x nicht None ist. Gibt es also einen geringfügigen Leistungsunterschied zwischen ihnen?
Durch Tests wurde festgestellt, dass es keinen Leistungsunterschied gibt, da sie mit demselben Bytecode kompiliert werden:
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
Aber was den Verwendungsstil betrifft, versuchen Sie es Vermeiden Sie, dass nicht x y ist. Obwohl der Compiler dies immer als nicht (x ist y) behandelt, kann es sein, dass Leser die Konstruktion falsch verstehen, da (nicht x) y ist. Wenn also x nicht y ist, gibt es keine solche Mehrdeutigkeit.
Das obige ist der detaillierte Inhalt vonVerwenden Sie diese Option, wenn x nicht None ist oder wenn x nicht None ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!