代码
# 演示property属性的应用
class Person(object):
def __init__(self, name):
# 私有属性
self.__name = name
@property
def name(self):
# 返回私有属性
return self.__name
@name.setter
def name(self, value):
# 增加判断, 防止属性被误修改
# 在这里也可以增加权限的判断
if isinstance(value, str):
self.__name = value
else:
print("设置姓名失败, 姓名必须为字符串类型")
@name.deleter
def name(self):
del self.__name
print("已删除name属性")
if __name__ == '__main__':
person1 = Person("Mike")
print(person1.name)
person1.name = "麦克"
print(person1.name)
person1.name = 123
del person1.name
person1.name = "小明"
print(person1.name)