Python創建類的方法及成員訪問的相關知識總結
一、創建類的方法與成員訪問
1.1 創建實例方法並訪問
實例方法是指在類中定義的函數。該函數是一種在類的實例上操作的函數。 同__init__()方法一樣,實例方法的第一個參數必須是self,並且必須包含一個self參數。
1.2 創建數據成員(屬性)並訪問
數據成員是指在類中定義的變量,即屬性(對象的特征)。根據定義位置,屬性(成員變量) 有兩種:一種是實例屬性,另一種是類屬性(類變量)。
1.2.1 添加與訪問方式
類屬性的添加與訪問方式同對象屬性,隻是把self關鍵字換成類名
1.2.1.1 類外面添加對象屬性
class Information(object): def __init__(self, name, age): self.name = name self.age = age info = Information('杜甫', 20) info.sex = '男'
1.2.1.2 類外面獲取對象屬性
對象名.屬性名
print(info.sex)
1.2.1.3 類裡面獲取對象屬性
1.3 訪問限制:私有成員與公有成員
類中定義的屬性和方法默認為公有屬性和方法,該類的對象可以任意訪問類的公有成員。
為瞭契合封裝原則,保證類中的代碼不被外部代碼輕易訪問。 Python支持將類中的成員設 置為私有成員,在一定程度上限制對象對類成員的訪問。
1.3.1 定義私有成員
對象無法直接訪問私有成員
1.3.2 訪問私有屬性
私有屬性可在公有方法中通過指代對象本身的默認參數“self”訪問, 類外部可通過公有方法間接獲取類的私有屬性。
1.3.3 訪問私有方法
私有方法同樣在公有方法中通過參數“self”訪問。
1.4 類代碼塊
Class語句和for、while語句一樣,都是代碼塊,即定義類就是執行代碼塊。
class myClass: print("This is my class")
執行上述代碼後,會輸出“class block”。
1.5 類方法
1.5.1 類方法
1.5.2 修改類屬性
在實例方法中無法修改類屬性的值,但在類方法中可以修改類屬性的值。
1.5.3 綜合示例
class myClass: # 類屬性 msg = '我是類的屬性' # 此註解表示該方法是一個類方法 @classmethod # cls代表當前這個類本身 def showMsg(cls): # 改變類屬性的值 cls.msg = 'really' print(cls.msg) # 調用類方法 myClass.showMsg()
1.6 類方法和實例方法的區別
1.7 靜態方法
可有對象調用也可以有類調用
示例:定義一個包含屬性num與靜態方法static_method()的類Example。
class Example: num = 10 @staticmethod def static_method(): print(f"類屬性的值為: {Example.num}") print("靜態方法") ex = Example() ex.static_method() print('-----------') Example.static_method()
到此這篇關於Python創建類的方法及成員訪問的相關知識總結的文章就介紹到這瞭,更多相關Python類的方法及成員訪問內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python類屬性學習深入講解
- Python面向對象編程之類的概念
- 基於Python 函數和方法的區別說明
- python中的classmethod與staticmethod
- Python學習之裝飾器與類的裝飾器詳解