Python __call__()方法(詳解版) (biancheng.net)
Python __repr__()方法:顯示屬性 (biancheng.net)
class A(object):
def __init__(self):
self.s = 0.0
print('A __init__ 正在調用')
def __call__(self, *args, **kwargs):
print('{} __call__正在運行 = {}'.format(self ,self.s))
class B(A):
def __init__(self):
self.s = 2
print('B__init__正在調用')
person = B()
print(person())
輸出如下所示:
B__init__正在調用
<__main__.B object at 0x0000021432A53988> __call__正在運行 = 2
None
說明B繼承A的時候,把A的成員函數都搬給了B,並且傳給A的成員函數的self是B而不是A。