3. 繼承
4. 匯入類
類是物件導向程式設計的一大特色。
在物件導向程式設計中,你編寫表示現實世界中的事物和情景的類,並基於這些類來建立物件。
基於類建立物件時,每個物件都自動具備這種通用行為,然後可根據需要賦予每個物件獨有的個性。根據類建立物件被稱為例項化。
class
dog:
def__init__
(self, name, age)
: self.name = name
self.age = age
defsit(self)
:print
(self.name.title()+
" is now sitting."
)def
roll_over
(self)
:print
(self.name.title()+
" rolled over!"
)
類中的函式稱為方法;前面有關函式的一切都適合於方法,就目前而言,唯一重要的區別是呼叫方法的方式。方法==__ init __()==是乙個特殊的方法,每當你根據dog類建立新例項時,python都會自動執行它。
在方法__ init __()中必須包含形參self,因為python呼叫該方法時,將自動傳入實參self,每個與類相關聯的方法呼叫都自動傳遞實參self,它是乙個指向例項本身的引用,讓例項能夠訪問類中的屬性和方法。
my_dog = dog(
"john",6
)# 建立了乙個6歲名為john的狗
print
(my_dog.name.title(
), my_dog.age)
my_dog.sit(
)my_dog.roll_over(
)> 輸出:
john 6
john is now sitting.
john rolled over!
class
dog:
def__init__
(self, name, age)
: self.name = name
self.age = age
defsit(self)
:print
(self.name.title()+
" is now sitting."
)def
roll_over
(self)
:print
(self.name.title()+
" rolled over!"
)class
hdog
(dog)
:def
__init__
(self, name, age)
:super()
.__init__(name, age)
defdump
(self)
:print
(self.name.title()+
" is now dumping."
)def
sit(self)
:print
(self.name.title()+
" is sitting."
)
建立子類時,父類必須包含在當前檔案中,且位於子類前面。
定義子類時,必須在括號內指定父類的名稱。
super()時乙個特殊函式,幫助python將父類和子類關聯起來。這行**讓python呼叫了父類的方法__ init __,讓子類包含了父類的所有屬性。父類也稱為超類(superclass),名稱super因此得名。
在建立子類的時候,我們還可以給子類定義新的方法,如上面的例項中,新加入了dump的方法。
子類不僅僅可以加入新的方法,還可以修改父類中的方法,如上圖子類中的sit方法,我們修改了父類中的sit方法。
匯入描述
import dog
匯入整個模組
from dog import dog
匯入特定的類
from dog import dog, hdog
匯入多個類
from dog import *
匯入模組中所有類
python基礎學習七 類
python 物件導向相對別的語言來說缺少兩個功能 1 python不具備過載,過載是指在同乙個類中,使得方法有相同的名稱,但是有不同的引數列表,但由於python函式具有強大的引數處理功能,因此這不是乙個問題。2 python不存在強制資料隱私的機制,不過若想建立屬性 例項變數或方法 時在屬性名前...
Python基礎(七) 類
物件導向程式設計是最有效的軟體編寫方法之一,在物件導向程式設計中的類可以模擬顯示世界中的事物和情景,並基於這些類來建立物件,在類中定義物件的通用行為。建立和使用類 建立 class dog 一次模擬小狗的簡單嘗試 def init self,name,age 初始化屬性name和age self.n...
類 Python學習筆記(七)
2 建立例項 二 繼承 class dog 一次模擬小狗的簡單嘗試 def init self,name,age 初始化屬性name和age self.name name self.age age defsit self 模擬小狗被命令式蹲下 print self.name.title 蹲下 def...