super(Student,self).__init__()初始化的是什么东西?
生活随笔
收集整理的這篇文章主要介紹了
super(Student,self).__init__()初始化的是什么东西?
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
繼承不是為了繼承里面原來的屬性和值么,不初始化的話,會有什么問題?
2015-04-04源自:python進階 5-17642 瀏覽2 回答最佳回答
2015-05-05| 1 | super(Student,self).__init__() |
這是對繼承自父類的屬性進行初始化。而且是用父類的初始化方法來初始化繼承的屬性。
也就是說,子類繼承了父類的所有屬性和方法,父類屬性自然會用父類方法來進行初始化。
當然,如果初始化的邏輯與父類的不同,不使用父類的方法,自己重新初始化也是可以的。
?Apalapucia 回復(fù)??9a412739861?(提問者)
謝謝,大致了解清楚了~
#12015-05-05?回復(fù) Apalapucia| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #!/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的初始化只是簡單的賦值,
但子類要求字母全部大寫。
總結(jié)
以上是生活随笔為你收集整理的super(Student,self).__init__()初始化的是什么东西?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 奇异值分解 SVD 的数学解释
- 下一篇: torch.nn.Embedding理解