这在 C 语言中很常见:像这样破解“空 if 语句”:
if(mostlyhappencondition)
;#empty statement
else{
dosomething;
}
它在 Python 中工作吗?我的意思是,我们可以通过使用它来提高应用程序的性能吗?我也想知道为什么。
如果“if”中没有 else 情况,则会提高性能,因为字节码不会将执行传递到“if”情况中。
这是一些函数和输出dis.dis(foo)
以下示例应用程序:
def foo(x):
if x:
pass
else:
return x+2
拆解为:
5 0 LOAD_FAST 0 (x)
3 POP_JUMP_IF_FALSE 9
6 6 JUMP_FORWARD 8 (to 17)
8 >> 9 LOAD_FAST 0 (x)
12 LOAD_CONST 1 (2)
15 BINARY_ADD
16 RETURN_VALUE
>> 17 LOAD_CONST 0 (None)
20 RETURN_VALUE
下列
def foo(x):
if not x:
return x+2
拆解为:
11 0 LOAD_FAST 0 (x)
3 POP_JUMP_IF_TRUE 14
12 6 LOAD_FAST 0 (x)
9 LOAD_CONST 1 (2)
12 BINARY_ADD
13 RETURN_VALUE
>> 14 LOAD_CONST 0 (None)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)