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

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

Python繼承問題

為什么這里的答案里面,在繼承Person類的Student類里面沒有對父類初始化,應該有一個super()函數吧?

正在回答

3 回答

super(Teacher, self).__init__(name, gender)無非是執行父類__init__方法


0 回復 有任何疑惑可以回復我~

好像是這樣的,自己做了實驗:

class Teacher(Person):

? ? def __init__(self, name, gender, course):

? ? ? ? #super(Teacher, self).__init__(name, gender)

? ? ? ? self.course = course


t = Teacher('Alice', 'Female', 'English')

t.gender = 'niemi'?

print t.gender

其實?t.gender = 'niemi' ?和super()函數的作用是一樣的,都是初始化函數,但前者只初始化是賦值單個初始化,而super()把整個父類都初始化了。

0 回復 有任何疑惑可以回復我~

關鍵是沒有super()仍然可以正常運行

0 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

Python繼承問題

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

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

幫助反饋 APP下載

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

公眾號

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