Python NoneType对象不可调用(初学者)

它告诉我第1行和第5行(是调试/编程的新手,不确定是否有帮助)

def hi():

print('hi')

def loop(f, n): # f repeats n times

if n <= 0:

return

else:

f()

loop(f, n-1)

>>> loop(hi(), 5)

hi

f()

TypeError: 'NoneType' object is not callable

为什么会给我这个错误?

回答:

你想给函数传递 对象hi到你的loop()功能,而不是结果 调用hi()(这是None因为hi()不返回任何东西)。

所以试试这个:

>>> loop(hi, 5)

hi

hi

hi

hi

hi

也许这可以帮助您更好地理解:

>>> print hi()

hi

None

>>> print hi

<function hi at 0x0000000002422648>

以上是 Python NoneType对象不可调用(初学者) 的全部内容, 来源链接: utcz.com/qa/412253.html

回到顶部