python類繼承用法實(shí)例分析
本文實(shí)例講述了python類繼承用法。分享給大家供大家參考。具體方法如下:
#!/usr/bin/python # Filename: inherit.py class SchoolMember: '''Represents any school member.''' def __init__(self, name, age): self.name = name self.age = age print'(Initialized SchoolMember: %s)'% self.name def tell(self): '''Tell my details.''' print'Name:"%s" Age:"%s"'% (self.name, self.age), class Teacher(SchoolMember): '''Represents a teacher.''' def __init__(self, name, age, salary): SchoolMember.__init__(self, name, age) self.salary = salary print'(Initialized Teacher: %s)'% self.name def tell(self): SchoolMember.tell(self) print'Salary: "%d"'% self.salary class Student(SchoolMember): '''Represents a student.''' def __init__(self, name, age, marks): SchoolMember.__init__(self, name, age) self.marks = marks print'(Initialized Student: %s)'% self.name def tell(self): SchoolMember.tell(self) print'Marks: "%d"'% self.marks t = Teacher('Mrs. Shrividya',40,30000) s = Student('Swaroop',22,75) members = [t, s] for member in members: member.tell()# works for both Teachers and Students
運(yùn)行輸出結(jié)果如下:
(Initialized SchoolMember: Mrs. Shrividya) (Initialized Teacher: Mrs. Shrividya) (Initialized SchoolMember: Swaroop) (Initialized Student: Swaroop) Name:"Mrs. Shrividya" Age:"40" Salary: "30000" Name:"Swaroop" Age:"22" Marks: "75"
它是如何工作的
為了使用繼承,我們把基本類的名稱作為一個(gè)元組跟在定義類時(shí)的類名稱之后。然后,我們注意到基本類的__init__方法專門使用self變量調(diào)用,這樣我們就可以初始化對象的基本類部分。這一點(diǎn)十分重要——Python不會(huì)自動(dòng)調(diào)用基本類的constructor,你得親自專門調(diào)用它。
我們還觀察到我們在方法調(diào)用之前加上類名稱前綴,然后把self變量及其他參數(shù)傳遞給它。
注意,在我們使用SchoolMember類的tell方法的時(shí)候,我們把Teacher和Student的實(shí)例僅僅作為SchoolMember的實(shí)例。
另外,在這個(gè)例子中,我們調(diào)用了子類型的tell方法,而不是SchoolMember類的tell方法??梢赃@樣來理解,Python總是首先查找對應(yīng)類型的方法,在這個(gè)例子中就是如此。如果它不能在導(dǎo)出類中找到對應(yīng)的方法,它才開始到基本類中逐個(gè)查找?;绢愂窃陬惗x的時(shí)候,在元組之中指明的。
一個(gè)術(shù)語的注釋——如果在繼承元組中列了一個(gè)以上的類,那么它就被稱作多重繼承。
希望本文所述對大家的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Pygame實(shí)現(xiàn)游戲最小系統(tǒng)功能詳解
這篇文章主要介紹了Pygame實(shí)現(xiàn)游戲最小系統(tǒng),Pygame是一個(gè)專門用來開發(fā)游戲的 Python 模塊,主要為開發(fā)、設(shè)計(jì) 2D 電子游戲而生,具有免費(fèi)、開源,支持多種操作系統(tǒng),具有良好的跨平臺(tái)性等優(yōu)點(diǎn)2022-11-11Python灰度變換中的對數(shù)變換專項(xiàng)分析實(shí)現(xiàn)
灰度變換是指根據(jù)某種目標(biāo)條件按一定變換關(guān)系逐點(diǎn)改變源圖像中每個(gè)像素灰度值的方法。目的是改善畫質(zhì),使圖像顯示效果更加清晰。圖像的灰度變換處理是圖像增強(qiáng)處理技術(shù)中的一種非常基礎(chǔ)、直接的空間域圖像處理方法,也是圖像數(shù)字化軟件和圖像顯示軟件的一個(gè)重要組成部分2022-10-10