Python筆記-Class類的使用

前言

此文章主要是記錄一下學習class類的使用、創建方法。

對象的定義

程序將數據和對數據的操作封裝在一起,組成一個相互依存、不可分割的整體,即對象。
Python中的一切內容都可以稱爲對象,例如數字、字符串、列表、元組、字典、集合、函數、類都是對象。

類的定義

對於相同類型的對象進行分類、抽象後,得出共同的特徵而形成了類。

子類

即在一個類A中嵌套另一個類B,則類B爲類A的子類,類A爲類B的父類。

其他數據的定義

示例代碼

在這裏插入圖片描述

init()構造函數

屬於類的數據成員(即類屬性)可以直接在類裏,且不在方法的位置定義。
屬於類中方法的數據成員(即實例屬性)一般是指在函數__init__()中定義的,定義和使用的時候需要以self作爲前綴。

類屬性

類屬性就是直接在類中進行定義的,相當於附屬於類的變量。
可以通過對象名.類屬性名或是類名.類屬性名對該數據成員進行調用

實例屬性

在類的方法中進行定義,相當於附屬於類的某個方法的變量
只能通過對象名.實例屬性名進行調用。

注:在Python中可以動態地爲自定義類和對象增加或刪除成員。

私有成員

在定義類的成員時,如果成員名是以兩個下劃線(或兩個以上下劃線)開頭則表示是私有成員。
私有成員在類的外部不能直接訪問,需要通過調用對象的公開成員方法來訪問,即對象名.私有方法名
在對象外部可以通過對象名._類名__私有方法名的特殊方式訪問。

下圖中的__pricate()即爲私有的成員,在類的
在這裏插入圖片描述
注: 若爲兩個下劃線開頭,並以兩個下劃線結尾的方法不是私有成員。

受保護成員

類似於私有成員,但是開頭僅有一個下劃線,且不能通過from module import *的方式導入到其他程序中
在類的外部不能直接訪問,需要通過調用對象的公開成員方法來訪問,即對象名.私有方法名

在這裏插入圖片描述

特殊成員

特殊成員是以兩個下劃線開頭,且以兩個下劃線結尾。是系統定義的成員。

在這裏插入圖片描述

公有成員

除了以上幾個成員外就是公有成員了。
公有成員可以在類的內部進行訪問,也可以在外部程序使用。

常用的特殊成員

構造函數:init()

創建對象時自動調用

析構函數:del()

釋放對象時自動調用

靜態方法:new()

類的靜態方法,用於確定是否要創建對象

其他

方法 介紹
__add__() +
__sub__() -
__mul__() *
_truediv__() /
__floordiv__() //
__mod__() %
__pow__() **
__iadd__() +=
__isub__() -=
__abs__() 與內置函數abs()對應
__bool__() 與內置函數bool()對應,要求該方法必須返回布爾值
__bytes__() 與內置函數bytes()對應
__complex__() 與內置函數complex()對應,要求該方法必須返回複數
__dir__() 與內置函數dir()對應
__divmod__() 與內置函數divmod()對應
__float__() 與內置函數float()對應,要求該方法必須返回實數
__hash__() 與內置函數hash()對應
__int__() 與內置函數int()對應,要求該方法必須返回整數
__len__() 與內置函數len()對應
__reversed__() 與內置函數reversed()對應
__class__ 返回對象所屬的類
__dict__ 對象所包含的屬性與值的字典
__subclasses__() 返回該類的所有子類
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章