JJP*_*JJP 28 python if-statement
它在C中很常见:黑客'如果声明'这样说:
if(mostlyhappencondition)
;#empty statement
else{
dosomething;
}
Run Code Online (Sandbox Code Playgroud)
它在Python中工作?我的意思是,我们可以通过使用它来改善应用程序的性能吗?我也想知道为什么.
kob*_*las 36
如果"if"中没有else情况,则性能会有所改善,因为字节码不会将执行传递给"if"情况.
这是一些功能和输出 dis.dis(foo)
以下示例应用程序:
def foo(x):
if x:
pass
else:
return x+2
Run Code Online (Sandbox Code Playgroud)
拆解为:
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
Run Code Online (Sandbox Code Playgroud)
下列
def foo(x):
if not x:
return x+2
Run Code Online (Sandbox Code Playgroud)
拆解为:
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)
Run Code Online (Sandbox Code Playgroud)
wim*_*wim 16
我只能猜测你正在寻找pass语句,有时需要创建一个空代码块来防止语法错误.
if mostlyhappencondition:
pass
else:
do_something()
Run Code Online (Sandbox Code Playgroud)
这样做会更常见,这在逻辑上是等价的:
if not mostlyhappencondition:
do_something()
Run Code Online (Sandbox Code Playgroud)
这里没有显着的性能提升.
| 归档时间: |
|
| 查看次数: |
41367 次 |
| 最近记录: |