Python學習筆記 類與物件

2021-09-28 19:26:34 字數 3803 閱讀 6709

基於python3版本的學習。

生活中我們所說的類,是物以類聚的類,是分門別類的類,是多個類似事物組成的群體的統稱。

而在python中我們所遇到的類(class),比如整數、字串、浮點數等,不同的資料型別就屬於不同的類。準確來說,它們的全名是整數類、字串類、浮點數類。每乙個類之下都包含無數相似的不同個例。

在python的術語裡,我們把類的個例就叫做例項 (instance),可理解為「實際的例子」。

我們可以這麼想:類是某個特定的群體,例項是群體中某個具體的個體。

類和例項相當於:群體和個體。

群體裡的每個個體都有著相同/相似的特徵和行為。

list=[

1,2]

# list 為類物件,[1,2] 為例項物件

python裡的每個類都有自己獨特的屬性(attribute)和方法(method),是這個類的所有例項都共享的。換言之,每個例項都可以呼叫類中所有的屬性和方法。

屬性:描述事物是怎樣的,有什麼特徵。

方法:描述事物能做什麼,有哪些行為和作用。

類的建立

先來看乙個建立電腦類的示例**:

class

computer

: screen =

true

defstart

(self)

:print

('電腦正在開機中……'

)

**解釋:

class computer:類的建立:class + 類 + 英文冒號。

screen = true類的屬性建立:通過賦值語句(即定義「是怎樣的」)。

def start(self):例項方法的建立:def + 方法名(self)。

print(『電腦正在開機中……』)方法具體執行過程:即定義「能做什麼」。

例項方法的建立語句,和函式的定義語句很類似。

唯一不同的是:例項方法中有個必須放在首位的引數self

再看乙個**:

# 類名首字母大寫

class

chinese

:# 用賦值語句,建立類的屬性:眼睛是黑色的

eye =

'black'

# 建立例項方法時,不要漏了 self,實現功能:列印出'吃飯,選擇用筷子。'

defeat

(self)

:print

('吃飯,選擇用筷子。'

)

類的呼叫:類的例項化

類的例項化,即在某個類下建立乙個例項物件。

class

computer

: screen =

true

defstart

(self)

:print

('電腦正在開機中……'

)my_computer = computer(

)print

(my_computer.screen)

my_computer.start(

)

上述**,類的呼叫的關鍵在:my_computer = computer()。

類的例項化

語法:例項名 = 類名()

意義:我們有了乙個例項,乙個「可呼叫所屬類的所有屬性和方法」的例項。

類的呼叫

語法:例項名.屬性:my_computer.screen

例項名.方法:my_computer.start()

再看下**:

class

chinese

:# 建立乙個類

eye =

'black'

defeat

(self)

:print

('吃飯,選擇用筷子。'

)wufeng = chinese(

)# 類的例項化

print

(wufeng.eye)

# 例項呼叫類屬性

wufeng.eat(

)# 呼叫類中的方法(傳參不用管self)

類的建立和呼叫的步驟:

建立乙個類 —— 類的例項化 —— 用例項呼叫類的屬性和方法。

類的建立:class 語句

類的屬性建立:賦值語句

例項方法的建立:def method1(self):

類的例項化:例項名 = 類名()

呼叫類的屬性:例項名.屬性

呼叫類的方法:例項名.方法()

特殊引數:self

特殊引數self的作用:self會接收例項化過程中傳入的資料,當例項物件建立後,例項便會代替 self,在**中執行。

class

chinese

:def

greeting

(self)

:print

('很高興遇見你'

)def

say(self)

: self.greeting(

)print

('我來自中國'

)person = chinese(

)# 建立例項person

person.say(

)# 呼叫say()方法

我們需要記住兩點:

第一點:只要在類中用def建立方法時,就必須把第乙個引數位置留給 self,並在呼叫方法時忽略它(不用給self傳參)。

第二點:當在類的方法內部想呼叫類屬性或其他方法時,就要採用self.屬性名或self.方法名的格式。

特殊方法:初始化方法

定義初始化方法的格式:def __ init __(self)

由init加左右兩邊的下劃線組成( initialize 「初始化」的縮寫)。

初始化方法的作用在於:當每個例項物件建立時,該方法內的**無須呼叫就會自動執行。

class

chinese

:def

__init__

(self)

:# 無須呼叫就會自動執行

self.mouth =

1# self.不能丟

self.eye =

2def

body

(self)

:print

('我有%s張嘴巴'

% self.mouth)

print

('我有%s只眼睛'

% self.eye)

person = chinese(

)person.body(

)

執行結果:

我有1張嘴巴

我有2只眼睛

初始化引數一般會用來執行一些預設操作,比如引數賦值,這樣當呼叫類的時候,則預設執行初始化函式,不用手動呼叫。

Python學習筆記 (類與物件)

1.類與物件 物件導向程式設計語言類 乙個模板,人類 是乙個抽象的,沒有實體的物件 eg 張三,李四 屬性 表示這類東西的特徵,眼睛,嘴巴,鼻子 方法 表示這類物體可以做的事情,eg 吃飯,睡覺,學習 2.定義類 使用class 3.python 的魔法方法 init self param1,par...

Python 類與物件筆記

類與物件 python 類的語法 關鍵字class def函式名 引數 函式關鍵字 class 類名 類名的規範是數字字母下劃線 不能以數字開頭 首字母大寫 駝峰命名 類屬性類方法 class boyfriend 類屬性 height 175 weight 130 money 500萬 類函式 類方...

Python學習筆記 類,類物件,例項物件

1 self 當例項方法被呼叫時,物件會將自身self作為第乙個引數傳入。所以在定義時需要將self寫入,在呼叫時不用寫。2 公有 私有 python的屬性和方法預設都是公有的,可以通過 訪問到,通過在屬性名前可以加上雙下劃線可以將其偽私有化,這樣只能通過類的方法來訪問了,為什麼是偽呢,因為pyth...