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...