對於例項來講,就同一種型別的例項,會擁有相同的屬性名稱,比如人person,需要有姓名name,性別gender,年齡age。因為python是動態語言,如果在定義例項時隨時給屬性賦值,例項多了會比較麻煩,那能不能事先把例項中的相同屬性的名稱定義好,在建立例項時直接賦值呢?可以。
這就用到了python中的__init__()函式,當使用類建立例項時,該函式會被自動呼叫。
class person(object):
def __init__(self, name, gender, age):
self.name = name
self.gender = gender
self.age = age
per1 = person('yjy', 'male', 18)
print per1.name
__init__(self, name, gender, age)函式,第乙個引數一定是self,當然名稱可以改下,但是建議使用習慣程式設計名稱;後面的引數可以隨便定義,在建立例項時,只帶有self後面的引數對應的內容即可。(我感覺__init__()函式有點像c++中的建構函式)
對於__init__()函式裡的引數做些解釋,以上面的例子為講解:name, gender, age都是形參,函式裡self.x 這個x才是例項的屬性。
Python初始化例項屬性
雖然我們可以自由地給乙個例項繫結各種屬性,但是,現實世界中,一種型別的例項應該擁有相同名字的屬性。例如,person類應該在建立的時候就擁有name gender和birth屬性,怎麼辦?在定義 person 類時,可以為person類新增乙個特殊的 init 方法,當建立例項時,init 方法被自...
python 初始化例項屬性
雖然我們可以自由地給乙個例項繫結各種屬性,但是,現實世界中,一種型別的例項應該擁有相同名字的屬性。例如,person類應該在建立的時候就擁有 name gender 和 birth 屬性,怎麼辦?在定義 person 類時,可以為person類新增乙個特殊的 init 方法,當建立例項時,init ...
Python初始化例項屬性
雖然我們可以自由地給乙個例項繫結各種屬性,但是,現實世界中,一種型別的例項應該擁有相同名字的屬性。例如,person類應該在建立的時候就擁有name gender和birth屬性,怎麼辦?在定義 person 類時,可以為person類新增乙個特殊的 init 方法,當建立例項時,init 方法被自...