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






