在Java等語言中都有構造方法【進行對象的建立及初始化】這個東東,示例代碼如下:
那麼Python中有麼,答案是肯定有的咯,在Python中是使用__new__和__init__來完成的。
__new__負責進行對象的建立,object中的__new__示例代碼如下:
示例代碼:
執行結果:
總結
__new__至少要有一個參數cls,代表要執行個體化的類,此參數在執行個體化時由Python解釋器自動提供
__new__必須要有傳回值,傳回執行個體化出來的執行個體,這點在自己實作__new__時要特别注意,可以return父類__new__出來的執行個體,或者直接是object的__new__出來的執行個體
__init__有一個參數self,就是這個__new__傳回的執行個體,__init__在__new__的基礎上可以完成一些其它初始化的動作,__init__不需要傳回值