您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Python創(chuàng)建類的方法和成員訪問的實現(xiàn)方法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
實例方法是指在類中定義的函數(shù)。該函數(shù)是一種在類的實例上操作的函數(shù)。 同__init__()方法一樣,實例方法的第一個參數(shù)必須是self,并且必須包含一個self參數(shù)。
數(shù)據(jù)成員是指在類中定義的變量,即屬性(對象的特征)。根據(jù)定義位置,屬性(成員變量) 有兩種:一種是實例屬性,另一種是類屬性(類變量)。
類屬性的添加與訪問方式同對象屬性,只是把self關(guān)鍵字換成類名
class Information(object): def __init__(self, name, age): self.name = name self.age = age info = Information('杜甫', 20) info.sex = '男'
對象名.屬性名
print(info.sex)
類中定義的屬性和方法默認(rèn)為公有屬性和方法,該類的對象可以任意訪問類的公有成員。
為了契合封裝原則,保證類中的代碼不被外部代碼輕易訪問。 Python支持將類中的成員設(shè) 置為私有成員,在一定程度上限制對象對類成員的訪問。
對象無法直接訪問私有成員
私有屬性可在公有方法中通過指代對象本身的默認(rèn)參數(shù)“self”訪問, 類外部可通過公有方法間接獲取類的私有屬性。
私有方法同樣在公有方法中通過參數(shù)“self”訪問。
Class語句和for、while語句一樣,都是代碼塊,即定義類就是執(zhí)行代碼塊。
class myClass: print("This is my class")
執(zhí)行上述代碼后,會輸出“class block”。
在實例方法中無法修改類屬性的值,但在類方法中可以修改類屬性的值。
class myClass: # 類屬性 msg = '我是類的屬性' # 此注解表示該方法是一個類方法 @classmethod # cls代表當(dāng)前這個類本身 def showMsg(cls): # 改變類屬性的值 cls.msg = 'really' print(cls.msg) # 調(diào)用類方法 myClass.showMsg()
可有對象調(diào)用也可以有類調(diào)用
示例:定義一個包含屬性num與靜態(tài)方法static_method()的類Example。
class Example: num = 10 @staticmethod def static_method(): print(f"類屬性的值為: {Example.num}") print("靜態(tài)方法") ex = Example() ex.static_method() print('-----------') Example.static_method()
“Python創(chuàng)建類的方法和成員訪問的實現(xiàn)方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。