Python的基礎學習 七 類

2021-10-17 09:35:50 字數 2137 閱讀 2578

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...