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

Python callable() built-in function returns false for an instance method

我正在使用 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例子returns下面输出

Writing
False

为什么会出现这种行为? Python 中的实例方法不是可调用的吗?

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

尝试:

print(callable(pen1.write))