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