Python callable()内置函数为实例方法返回false

时间:2017-03-02 13:33:34

标签: python python-3.6

我使用的是Python 3.6版。

class Pen:
    def write(self):
        print("Writing")

def __call__(self,p):
    print("calling a pen object")

pen1 = Pen()

print(callable(pen1.write()))

上面的Python示例返回以下输出

Writing
False

为什么会这样? 实例方法在Python中不可调用吗?

1 个答案:

答案 0 :(得分:2)

pen1.write是可调用的,但不是结果pen1.write()。这将调用该方法并将其结果(None)作为参数传递给callable方法。 None不可调用。

尝试:

print(callable(pen1.write))