設定物件屬性
__setattr__(self, name, value):
def __setattr__(self, name, value):
self.__dict__[name] = value12
查詢物件屬性
__getattr__(self, name): 訪問這個屬性時 , 在沒有查詢到相應例項屬性時被呼叫
__getattribute__(self, name): 每次訪問屬性時被呼叫 , 更容易引起無限遞迴情況 , 使用時小心
詳見getattr與getattribute
刪除物件屬性
__delattr__(self, name):
例項class program(object):
def __init__(self, name, age):
self.name = name
self.age = age
def __getattribute__(self, name):
# return getattr(self, name) # 引起無限遞迴
# return self.__dict__[name] # 引起無限遞迴
return super(program, self).__getattribute__(name)
def __setattr__(self, name, value):
self.__dict__[name] = value
def __setattr__(self, age, value):
self.__dict__[age] = value
def __getattr__(self, age):
return super(program, super).__getattr__(age)
if __name__ == '__main__':
p = program('mike', 22)
print(p.name)
print(p.age)
————————————————
python的類訪問控制 私有屬性
一 訪問控制私有屬性 class person def init self,name,age 19 self.name name self.age age def growup self,i 1 if i 0 and i 150 self.age 1p1 person tom p1.growup 2...
Python中類的屬性的訪問控制
因為自己是做.net的,之前有學習過python,喜歡這門語言的很多特性,最近又不時看了一會兒,將自己的感受分享給大家,其中也難免會用c 的角度看python的語法,主要還是講下python中類中對屬性的訪問。講到屬性訪問,都能想到公有,私有,受保護,c 的方法是public private pro...
Python中類的屬性的訪問控制
因為自己是做.net的,之前有學習過python,喜歡這門語言的很多特性,最近又不時看了一會兒,將自己的感受分享給大家,其中也難免會用c 的角度看python的語法,主要還是講下python中類中對屬性的訪問。講到屬性訪問,都能想到公有,私有,受保護,c 的方法是public private pro...