本文介绍了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 对象不可调用(初学者)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 04:42