1. 程式人生 > >Python----面向對象---自定義元類控制類的實例化行為

Python----面向對象---自定義元類控制類的實例化行為

int blog sel () -- class 對象 log col

一、知識儲備

1、__call__方法

 1 class Foo:
 2     def __call__(self, *args, **kwargs):
 3         print(self)
 4         print(args)
 5         print(kwargs)
 6 
 7 obj = Foo()
 8 obj()
 9 
10 結果為:
11 
12 <__main__.Foo object at 0x000002AFE2B4BDA0>
13 ()
14 {}

實例化時傳參

1 obj(1, 2, 3, a=1, b=2, c=3)
2 
3 結果為:
4 5 <__main__.Foo object at 0x000001A1799CBDA0> 6 (1, 2, 3) 7 {a: 1, b: 2, c: 3}

Python----面向對象---自定義元類控制類的實例化行為