1.给对象提供, 像调用属性一样的方式, 调用方法
class Aaa():
@property
def hello(self, ):
return "hello"
aa = Aaa()
aa.hello # 通过调用属性的方式, 调用函数
2.修改类的私有属性时, 方便的进行参数校验
class Aaa():
def __init__(self, ):
self.__a = 1
@property
def get_a(self, ): # 通过property装饰后, 可以像获取属性一样, 调用该函数
return self.__a
@get_a.setter
def set_a(self, var): # 与get_a函数结对, 提供修改类的私有属性方式
if not isinstance(var, int): # 在修改类的私有属性时, 可以方便的对参数进行校验
raise "var 参数类型必须为 int型"
self.__a = var
aa = Aaa()
aa.get_a # 获取类中的私有属性
aa.set_a = 2 # 修改类中的私有属性
aa.get_a