def foo(a):
print("I'm foo")
return False
if foo:
print("OK")
else:
print("KO")
我运行它并返回OK。我知道,我应该写if foo():
。
在调用没有参数的函数时经常会忘记括号,我需要对结果进行解释。
提前感谢您的回答!
答案 0 :(得分:2)
写作时
if foo:
print("OK")
else:
print("KO")
您实际上正在测试函数指针foo
。它被定义,因此它打印" OK"并且它不会调用该函数。使用括号,您可以调用foo
函数并运行其代码。
答案 1 :(得分:1)
python if
条件
0, None, "", [], {}, False, ()
下面
def foo(a):
print("I'm foo")
return False
>>>foo
<function __main__.foo>
这意味着变量foo
指向该函数。如果您调用函数foo(arg)
,它将按预期返回False
。所以
>>>foo("arg")
False
答案 2 :(得分:0)
在这种情况下,您的代码与
相同if foo != None:
print("OK")
else:
print("KO")
结果是
&#34; OK&#34;
因为foo
确实存在。