Python學習筆記(十三) 類

2021-09-26 13:52:20 字數 2737 閱讀 7207

本節主要對python中類的概念進行介紹。類完全由物件導向概念所引出。

定義乙個類

class

people

:'幫助資訊'

number =

100#建構函式,初始化方法,當建立乙個類的時候,首先會呼叫它

def__init__

(self, name, age)

: self.name = name

self.age = age

defdiplaynumber

(self)

:print

("number = :"

, people.number)

defdisplayname

(self)

:print

(self.name)

例項化物件

p1 = people(

'chen mo',37

)

p2 = people(

"chen rui min",1

)

獲取name屬性

p1.name
'chen mo'
p2.name
'chen rui min'
呼叫方法

p1.diplaynumber(

)

number = : 100
p2.diplaynumber(

)

number = : 100
p2.name =

"chen rui lin"

p2.name
'chen rui lin'
檢視物件中是否包含某屬性

hasattr

(p1,

"name"

)

true
獲取物件中的某屬性

getattr

(p1,

"name"

)

'chen mo'
修改物件中的屬性

setattr

(p1,

"name"

,"chenmo"

)

#輸出類注釋

print

(people.__doc__)

#輸出類名

print

(people.__name__)

#輸出類定義所在模組

print

(people.__module__)

#輸出類的父類構成元素

print

(people.__base__)

#輸出類的組成

print

(people.__dict__)

people

__main__

class

parent

: number =

100def

__init__

(self)

:print

("父類建構函式"

)def

parentmethod

(self)

:print

("父類方法"

)def

setattr

(self, attr)

: parent.parentattr = attr

defgetattr

(self)

:print

("父類屬性:"

, parent.parentattr)

defoverridedmethod

(self)

:print

("父類被覆蓋方法"

)class

child

(parent)

:def

__init__

(self)

:print

("子類建構函式"

)def

childmethod

(self)

:print

("子類方法"

)def

overridedmethod

(self)

:print

("子類覆蓋父類方法"

)

c = child(

)c.childmethod(

)c.parentmethod(

)c.setattr(

200)

c.getattr(

)c.overridedmethod(

)

子類建構函式

子類方法

父類方法

父類屬性: 200

子類覆蓋父類方法

python學習筆記(十三)類的繼承與匯入

1 繼承 類的繼承幫助我們簡化了類的編寫,這裡我們先來理解一下繼承的概念。乙個類繼承另乙個類時,它將自動獲得另乙個類的所有屬性和方法,被繼承的類是父類,繼承得到的類是子類。我們可以將子類視為父類的特殊化,它在類的定義中對父類的屬性和方法進行了特殊化的補充 實際上也可以什麼都不補充,但這樣做繼承就沒有...

python自學(十三) 類的繼承

類是可以繼承的,python也不例外 直接將父類作為引數來宣告乙個新類 class student object 這裡就是指,預設的類的宣告,就是繼承自object def init self pass 子類直接具有了父類的屬性和方法 但是當子類宣告和父類相同的方法時,會覆蓋父類的方法,這種行為被稱...

Python學習筆記(十三)

模組包 if name main 軟體目錄結構規範 作業 atm 購物 程式 import 語句 import module1 module2 modulen 當我們使用import語句的時候,python直譯器通過自己的搜尋路徑 存在sys.path裡 進行搜尋from import 語句 fro...