创建私有属性
在属性名前加两个下划线设置为私有属性,但为伪私有,可以通过输出_Person__age对self.__age进行访问
class Person:
"""
"""
def __init__(self):
"""
这个方法创建了一个私有属性age
:return:
"""
self.__age = 18
设置私有属性的可读可写访问权限,如下:
class Person:
"""
"""
def __init__(self):
"""
这个方法创建了一个私有属性age
:return:
"""
self.__age = 18
#
def setAge(self, value):
"""
这个方法设置了修改权限,可写
:param value:
:return:
"""
if isinstance(value, int) & ((value > 0) & (value < 200)):
self.__age = value
else:
print("ERROR")
#
@property
def getAge(self):
"""
这个方法设置了访问权限,可读
:return: 返回age值
"""
return self.__age
通过__setattr__创建只读属性
class Person(object):
def __setattr__(self, key, value):
print(key, value)
if key == "age" and key in self.__dict__.keys():
print("you can not chance the value of dict")
else:
self.__dict__[key] = value