Python __init__ 特殊方法
阿新 • • 發佈:2018-04-08
析構 rac elf -s int not pytho efi line
在Python中有很多以雙下劃線開頭且以雙下劃線結尾的固定方法。他們會在特定的時機被觸發執行。
__init__ 就是其中之一,它會在實例化之後自動被調用。以完成實例的初始化。
>>> class test: #定義一個類 def func(self): print(‘手動調用函數:‘,id(self)) #打印參數的id >>> a = test() #實例化對象a >>> a.func() #用實例a調用函數func(),會把實例a當成一個參數,並且第一個傳入到函數func()中。 手動調用函數: 1794999510856 >>> >>> class test: #定義一個類,裏面封裝的函數使用了__init__特殊方法,這個方法會在初始化實例時自動調用 def __init__(self): print(‘初始化實例時自動調用:‘,id(self)) >>> a = test() #實例化對象a,此時它會自動調用__init__,不需要類似a.func()的操作。 初始化實例時自動調用: 1794999587840 >>>
“析構”問題引入
>>> a = [1,2,3] >>> b =a #變量的指向 >>> b [1, 2, 3] >>> a.append(5) >>> a [1, 2, 3, 5] >>> b [1, 2, 3, 5] >>> del a #刪除一個變量的指向。 >>> a Traceback (most recent call last): File "<pyshell#28>", line 1, in <module> a NameError: name ‘a‘ is not defined >>> b [1, 2, 3, 5] >>>
Python __init__ 特殊方法