amy*_*sin 9 python if-statement
什么是更好用:
if var in X:
#do_whatever
elif (var in Y):
#do_whatever2
Run Code Online (Sandbox Code Playgroud)
要么:
if var in X:
#do_whatever
if var in Y:
#do_whatever2
Run Code Online (Sandbox Code Playgroud)
假设var不能同时在X和Y中......是否有任何规则或常规做法?我应该使用elif吗?还是一个新的if?或者没关系?
编辑:很好的答案..但我可以说,如果第一个声明(#do_whatever)以一个返回或休息结束; 在最后,其他条件将不会被测试,从而浪费系统资源或造成麻烦,可以做任何事情......我猜......
Nik*_*s R 16
它在某些情况下会有所不同.看这个例子:
def foo(var):
if var == 5:
var = 6
elif var == 6:
var = 8
else:
var = 10
return var
def bar(var):
if var == 5:
var = 6
if var == 6:
var = 8
if var not in (5, 6):
var = 10
return var
print foo(5) # 6
print bar(5) # 10
Run Code Online (Sandbox Code Playgroud)
如果第二个语句是不可能的,如果第一个语句是真的(就像这里的情况,因为你说var不能同时在X和Y中),那么你应该使用elif.否则,第二次检查仍然会运行,如果你知道它会变错,这会浪费系统资源.