亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

super(Student,self).__init__()初始化的是什么東西?

繼承不是為了繼承里面原來的屬性和值么,不初始化的話,會有什么問題?

正在回答

2 回答

super(Student,self).__init__()

這是對繼承自父類的屬性進行初始化。而且是用父類的初始化方法來初始化繼承的屬性。

也就是說,子類繼承了父類的所有屬性和方法,父類屬性自然會用父類方法來進行初始化。

當然,如果初始化的邏輯與父類的不同,不使用父類的方法,自己重新初始化也是可以的。

10 回復 有任何疑惑可以回復我~
#1

a412739861 提問者

謝謝,大致了解清楚了~
2015-05-05 回復 有任何疑惑可以回復我~
#!/usr/bin/env?python
#?-*-?coding:utf-8?-*-

class?Person(object):
????def?__init__(self,name,gender,age):
????????self.name?=?name
????????self.gender?=?gender
????????self.age?=?age

class?Student(Person):
????def?__init__(self,name,gender,age,school,score):
????????#super(Student,self).__init__(name,gender,age)
????????self.name?=?name.upper()??
????????self.gender?=?gender.upper()
????????self.school?=?school
????????self.score?=?score

s?=?Student('Alice','female',18,'Middle?school',87)
print?s.school
print?s.name

例如這樣,父類對name和gender的初始化只是簡單的賦值,

但子類要求字母全部大寫。

10 回復 有任何疑惑可以回復我~
#1

魚兒游啊游

很清晰
2017-01-06 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
python進階
  • 參與學習       255563    人
  • 解答問題       3038    個

學習函數式、模塊和面向對象編程,掌握Python高級程序設計

進入課程

super(Student,self).__init__()初始化的是什么東西?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號