本文介绍了Python NoneType 对象不可调用(初学者)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
它告诉我第 1 行和第 5 行(调试/编程新手,不确定是否有帮助)
def hi():打印('嗨')def loop(f, n): # f重复n次如果 n
>>>循环(嗨(),5)你好F()TypeError: 'NoneType' 对象不可调用
为什么它给我这个错误?
解决方案
您想将函数 object hi
传递给您的 loop()
函数,不是 调用 到 hi()
的结果(它是 None
,因为 hi()
没有不返回任何东西).
试试这个:
>>>循环(5)你好你好你好你好你好也许这会帮助你更好地理解:
>>>打印 hi()你好没有任何>>>打印嗨<函数hi at 0x0000000002422648>It tells me line 1 and line 5 (new to debugging/programming, not sure if that helps)
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
Why does it give me this error?
解决方案
You want to pass the function object hi
to your loop()
function, not the result of a call to hi()
(which is None
since hi()
doesn't return anything).
So try this:
>>> loop(hi, 5)
hi
hi
hi
hi
hi
Perhaps this will help you understand better:
>>> print hi()
hi
None
>>> print hi
<function hi at 0x0000000002422648>
这篇关于Python NoneType 对象不可调用(初学者)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!