python 反射为类添加静态属性#setattr#@ property

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 反射为类添加静态属性#setattr#@ property相关的知识,希望对你有一定的参考价值。

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)

以上是关于python 反射为类添加静态属性#setattr#@ property的主要内容,如果未能解决你的问题,请参考以下文章

python反射hasattr getattr setattr delattr

详解Python中的反射机制

python反射怎么用

python之面向对象知识点汇总(小白必会)

Python面向对象 -没有对象?new一个吧

9.3反射