我试图了解“可赎回”的概念。我一直在阅读What is a "callable" in Python?和http://eli.thegreenplace.net/2012/03/23/python-internals-how-callables-work/。
简单来说,我认为我总结一个可调用的方法,函数或具有__call__
方法的类。假设这大概是什么'事情'在python中不可调用,为什么不可调用?我试图更好地理解可以被称为什么以及什么不能做什么的大局。
答案 0 :(得分:1)
不可调用的东西是在其上调用'callable()'的结果为false的东西。例如:
a = 'a'
print callable(a)
print callable(a.capitalize)
>> False
>> True
因此字符串不可调用,但是字符串方法capitalize()可以调用所有大写字母的字符串副本。
l = [1, 2]
print callable(l)
>> False
同样,列表不可调用。事实上,大多数对象都不可调用。
class Test(object):
my_member = 'A'
t = Test()
print callable(t)
>> False
print callable(Test)
>> True
但正如您所看到的,Test类的构造函数是可调用的,这就是我们构造类实例的方式。