對於實例來講,就同一種類型的實例,會擁有相同的屬性名稱,比如人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知識點的更新。