>>> def foo(a):
print "called the function"
if(a==1):
return 1
else:
return None
>>> a=1
>>> if(foo(a) != None and foo(a) ==1):
print "asdf"
called the function
called the function
asdf
您好。 如何避免在不使用额外变量的情况下调用该函数两次。
答案 0 :(得分:12)
您可以像这样链接比较
if None != foo(a) == 1:
这就像
一样if (None != foo(a)) and (foo(a) == 1):
除了它只评估foo(a)一次。
答案 1 :(得分:7)
如何避免在不使用额外变量的情况下调用该函数两次。
在这里,你可以简单地替换
if(foo(a) != None and foo(a) ==1):
与
if foo(a) == 1:
foo(a) != None
是多余的:如果foo(a) == 1
,则保证不是None
。
答案 2 :(得分:1)
以下陈述
if foo(a) == 1:
将处理这两个条件。
答案 3 :(得分:1)
如果foo(a)== 1,那么foo(a)将不是None,
将您的代码简化为:
if foo(a):
print('asdf')