私有屬性用法

2021-10-07 16:34:22 字數 916 閱讀 6653

python屬性分為,類屬性,例項屬性,而例項屬性可設定為私有屬性(類內函式訪問,類外不可訪問)

私有屬性有兩種寫法__***和_***;通過**演示檢視他們的區別和用法

class car(object):

country = '中國' #類屬性

def __init__(self,length,width,height,owner=none):

self.__owner = owner #例項屬性,也是語法上的私有屬性

assert length > 0, "length must larger than 0"

self._length = length #例項屬性,自己命名約束的私有屬性,類外呼叫不報錯

self._width = width

self._height = height

def getlength(self):

return self._length

def setlength(self,value):

assert value > 0,"length must larger than 0"

self._length = value

nissan = car(4,2.5,1.5,'song')

print(dir(nissan)) #列出例項nissan的屬性

print(nissan._width) #語法沒問題,可以類外訪問,寫法上自己約束

print(nissan._car__owner) #可以通過類外,類屬性間接訪問

nissan.setlength(4.5)

nissan.getlength() #通過類的方法間接訪問類的私有屬性

#print(nissan.__owner) #私有屬性不可類外直接訪問

python 私有屬性和視為私有屬性

python模組中的視為私有屬性 總的來說,python中有 幾種特殊的屬性 在python模組中,我們經常會見到 x 其中後面兩種 x 是習慣上的私有變數,我們不應該在外部使用它,而是應該通過呼叫內部函式來使用,但這裡是不應該而不是不能,所以要靠我們自覺遵守這個標準,另外,在自定義模組的時候,也要...

類的建構函式 私有屬性,私有屬性不 絕對 私有

建構函式及其他 class a def init self self.hour 0 self.minute 0 init 為類的建構函式,每次建立類物件時,都會執行建構函式。建構函式 init 會初始化類物件屬性,並且返回none。python類還可以定義其他的特殊方法,這些方法之前 之後都會有雙下...

property 私有屬性

coding utf 8 class people object def init self,name,age self.name name self.age age 私有屬性 self.number 0 這倆函式的作用,就是在為了在類宣告的外部,可以訪問到私有屬性 專門定義函式獲取私有屬性值 de...