我希望这个问题不会显得太幼稚或愚蠢,但我只想得到一个明确的答案作为确认。
是否可以设置变量来调用函数?
即
def func():
print "test"
var = [something magical + func]
那么如果你只输入/使用了 var 它会输出 test?
换句话说,如果函数从不需要(或接受)参数 [在 Python 中],是否有另一种方法可以在不使用括号的情况下调用函数?
我假设这是不可能的,因为您总是需要使用“()”来调用函数,但我很好奇是否有任何异常(exception)情况?
请您参考如下方法:
一般来说,没有。除了 properties如评论中所述,您将始终需要应用参数列表(即使它是空的 ())来实际调用该函数。否则,您不是调用函数,而是引用函数本身作为值。
您可以在 Python 的命令行解释器上轻松重现此内容:
>>> def func():
... return "foo"
...
>>> func() # Actually call the function; statement returns the function's return value
'foo'
>>> func # Reference the function as value; statement returns *the function itself*
<function func at 0x7f2c7a65b938>
>>> var = func # Assign the function value to another variable
>>> var # Now "var" references the same function as "func"...
<function func at 0x7f2c7a65b938>
>>> var() # ...and can also be called as a function
'foo'
>>>
