Python中的類和物件

2021-10-10 07:06:18 字數 2232 閱讀 7236

說明:本博文主要記錄python學習過程中的知識點(主要針對python程式設計語法)。是我在看《零基礎學python》(明日科技出版)這本書時所做的筆記。

類的定義

python中類的定義通過關鍵字class來實現。

class

classname

:'''幫助資訊'''

# 類體

類的例項化

定義好了類之後,並不會建立類的例項。我們要使用類需要定義乙個例項化物件。類例項化的語法如下:

classname(parameterlist)

# classname:類名

# parameterlist:引數列表。當建立乙個類時,沒有建立__init__()方法或者__init__()方法只有乙個self引數,那麼parameterlist可以省略。

# 定義人類

class

person()

:print

('人類'

)# 例項化物件

xiao_ming = person(

)

python中__init__()方法

建立完乙個類之後,通常會自動建立乙個__init__()方法。該放是乙個特殊的方法,類似於建構函式,當建立乙個新的例項物件時,會自動呼叫該方法。在__init__()方法中至少包含乙個self引數。self是乙個指向例項的乙個引用,在呼叫類的方法時,會自動傳遞實參self。所以當__init__()函式只有乙個引數,在建立類的例項時不需要指明實際引數。

在定義__init__()方法時,還可以自定義一些引數。相鄰引數之間用逗號隔開。此時在例項化物件時,需要為自定義引數傳遞實參。

建立類的例項方法

類的方法是:在類中定義的函式。

類的方法必須包含乙個self引數。建立類的方法語法格式如下:

def

function_name

(self, parameterlist)

:# 函式體

# function_name:方法名

# self:必須引數,表示類的例項。名稱可以是self以外的單詞,但是使用self是乙個慣例。

# parameterlist:引數列表,引數之間用逗號隔開。指定除self以外的引數。

例項方法的訪問

例項方法可以通過例項物件和點(.)操作符訪問。

instancename.function_name(parameter_value)

# instancename:類的例項名稱

# function_name:要呼叫的方法名稱

# parameter_value:方法的實際引數

類中的資料成員

類中的資料成員分為:類屬性和例項屬性

類屬性:定義在類中但是定義在成員方法外。

例項屬性:定義在類中的__init__()方法中。

類屬性的訪問

1、類屬性在類的所有例項中共享。當修改了類屬性的值,那麼所有例項對應的類屬性的值都改變了。

2、類屬性可以通過類名或者例項名訪問。

# 通過類名訪問

class_name.class_property

# 通過例項名訪問

instance_name.class_property

例項屬性的訪問

例項屬性只能通過例項名稱訪問。修改了乙個例項的屬性值,另外乙個例項的屬性值並不會改變。

類中屬性和方法的訪問許可權

可以在類的屬性或方法名前面新增單下劃線、雙下劃線、首尾雙下劃線來限制屬性和方法的訪問許可權。

1、首尾雙下劃線表示特殊方法,一般是系統定義名字。如__init__()

2、以單下劃線開頭的表示protected型別的成員。允許類本身和子類訪問,但不能通過「from 模組 import *」匯入。

3、以雙下劃線開頭的表示private型別的成員。允許在類分身訪問。不能在類外訪問。如果必須訪問可以通過如下方式訪問:類的例項名._類名__類的成員

繼承

class

classname

(baseclasslist)

:'''類的幫助資訊'''

#類體# classname:類名

# baseclasslist:基類名,基類可以不止乙個,相鄰基類用逗號隔開

Python中的類和物件

python中一切都是物件。類提供了建立新型別物件的機制。在 python 中,把具有相同屬性和方法的物件歸為乙個類 class class people def speak self print hello 定義乙個people類,定義乙個speak方法,但沒有定義屬性,因為屬性不屬於類,而是屬於...

python中的類和物件

類 物件 1.他可以做什麼行為 2.他是什麼樣的 屬性或特徵 定義類 class 必須要有初始化 init 這樣建立的每個例項都有自己的屬性,也方便直接呼叫類中的函式和變數 self表示的是當前類的物件 呼叫對應的變數 呼叫對應的函式 如果沒有在 init 中初始化對應的例項變數話,導致後續引用例項...

Python 中的類和物件

class stunum age 20 屬性 female 私有變數,不可用sn.顯示 def init self,num 方法 其中name為預設引數 self.num num defget self return self.呼叫此函式可顯示私有變數 defpnum self print 我的學號...