为类添加一个可读写静态属性

class A:
    def __init__(self):
        self.inner_name = "alex"

a = A()

@property
def out_name(self):
    print("this is get fun")
    return self.inner_name

@out_name.setter
def out_name(self,value):
    print("this is set fun")
    self.inner_name = value

# 将外面的函数(已经被装饰成静态属性),用setattr 添加到A类中,在A 类中的名字叫name
setattr(A,"name",out_name)

# 直接像调用属性一样调用a实例的name方法
print(a.name)

print("="*15)

# 设置属性值
a.name = "egon"

print("="*15)

print(a.name)

你可能感兴趣的:(为类添加一个可读写静态属性)