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