python程序设计——面向对象程序设计:属性
python 3.x 的属性
可以将属性设置为 可读,可修改,可删除
# 只读属性,不允许修改和删除
class Test:
def __init__(self,value):
self.__value=value
@property
def value(self): # 只读属性,不允许修改和删除
return self.__value
t=Test(3)
t.value
out:
3
t.value=5 # 出错,只读属性,不允许修改、删除
t.v = 5 # 动态增加新成员
t.v
out:
5
del t.v # 动态删除新成员
# 把属性设置为可读、可修改,不允许删除
class Test:
def __init__(self,value):
self.__value=value
def __get(self):
return self.__value
def __set(self,v):
self.__value=v
value=property(__get,__set) # 把属性设置为可读、可修改,不允许删除
def show(self):
print(self.__value)
t=Test(3)
t.value=5 # 允许修改属性值
t.value
out:
5
# 把属性设置为可读、可修改,可删除
class Test:
def __init__(self,value):
self.__value=value
def __get(self):
return self.__value
def __set(self,v):
self.__value=v
def __del(self):
del self.__value
value=property(__get,__set,__del) # 把属性设置为可读、可修改,可删除
def show(self):
print(self.__value)
t=Test(3)
t.value
out:
3
del t.value # 删除属性值