Python——記__init__方法

爲什麼會有__init__這個方法呢?其實我們完全可以用別的方法(換一個名稱)代替,但由於我們經常會用到這種定義的方法,所以就產生了__init__()這樣一種系統自帶的,方便自己對屬性進行定義的方法,這種方法也被稱爲構造器(constructer)。

定義類的時候,若是添加__init__方法,那麼在創建類的實例的時候,實例會自動調用這個方法,一般用來對實例的屬性進行初始化。
例如:

class testClass(object):
	def __init__(self, name, gender):	
	""" 
	定義__init__方法,這裏有三個參數,這個self指的是創建實例的時候的實例本身(即例子中的testman)。
	當然self也可以寫成其他東西,比如me也是可以的,這樣的話,下面的self.Name就要改寫成me.Name。
	"""
	self.name = name # 等號左邊的name是實例的屬性,右邊的name是方法__init__的參數,二者不同的。
	self.gender = gender # 同name
	print('hello') # 這裏是爲了說明在創建類的實例的時候,__init__方法就立馬被調用了。 
	testman = testClass('neo', 'male')
	"""
	創建了類testClass的一個實例,類中有__init__這個方法,在創建類的實例的時候,我們需要有和__init__匹配的參數。
	由於self指的就是我們創建的實例本身,所以self是不用傳入的。
	這條語句一出來,實例testman的兩個屬性name, gender就被賦值初始化了。其中name就是neo,gender就是male.
	"""

	class testClass2(object):
		def __init__(me, name, gender):
			me.name = name
			me.gender = gender
			print('hello2')
	testman2 = testClass2('jack', 'male')
	print(testman2.name)
	print(testman2.gender)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章