Python 什么';分配带括号和不带括号的函数有什么区别?

Python 什么';分配带括号和不带括号的函数有什么区别?,python,Python,python和 value = getValue() 及 ?使用括号调用函数,如果不使用括号,则会创建对该函数的引用 见下文: >>> def t(): ... return "Hi" ... >>> a = t >>> a <function t at 0x01BECA70> >>> a = t() >>> a 'Hi' >>> >>def t(): ...

python和

value = getValue()


使用括号调用函数,如果不使用括号,则会创建对该函数的引用

见下文:

>>> def t():
...     return "Hi"
...
>>> a = t
>>> a
<function t at 0x01BECA70>
>>> a = t()
>>> a
'Hi'
>>>
>>def t():
...     返回“嗨”
...
>>>a=t
>>>a
>>>a=t()
>>>a
“嗨”
>>>
这里有一个很好的链接可以进一步解释:(向下滚动到“定义函数”部分)。

value=getValue()
是函数调用和返回值赋值。它的意思是“调用函数
getValue
,不带参数,并使
value
引用它所返回的任何内容”


value=getValue
表示“make
value
引用的函数与
getValue
引用的函数相同”

在第一种情况下,调用
a()
获取
'Hi'
>>> def t():
...     return "Hi"
...
>>> a = t
>>> a
<function t at 0x01BECA70>
>>> a = t()
>>> a
'Hi'
>>>