1. 程式人生 > >Python __init__ 特殊方法

Python __init__ 特殊方法

析構 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__ 特殊方法