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))
我正在使用 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))