说我有这个代码:
class ClassStyleA(object):
def FunctionA(self):
print "This is Style A."
class ClassStyleB(object):
def FunctionA(self):
print "This is Style B."
class InstanceStyleA(ClassStyleA):
def FunctionB(self):
print "This is also Style A."
InstanceStyleB = ClassStyleB()
例如,如果我想调用FunctionA
from InstanceStyleA
,我需要这样输入:
InstanceStyleA().FunctionA()
如果我想从 调用FunctionA
,InstanceStyleB
我需要这样输入:
InstanceStyleB.FunctionA()
我需要在后面添加一组括号InstanceStyleA
才能调用它的一个函数,否则我会收到此错误:
TypeError: unbound method FunctionA() must be called with InstanceStyleA instance as first argument (got nothing instead)
InstanceStyleB
同样,如果我在调用其中一个函数后尝试添加括号,我会收到此错误:
TypeError: 'ClassStyleB' object is not callable
为什么会这样?如果它们都是类的实例,为什么它们会受到不同的对待?