gpt4 book ai didi

python - 动态创建python属性函数

转载 作者:行者123 更新时间:2023-11-30 23:20:15 24 4
gpt4 key购买 nike

我想动态创建属性方法。

这意味着,例如,我希望第一个 A 类与第二个 A 类等效。

有什么办法吗?

class A(object):
def __init__(self):
self._a = 10
self.createPropertyMethod(a, self._a, getFunc, setFunc, delFunc)

def createPropertyMethod(self, name, value, getFunc, setFunc, delFunc)
#TODO

.

class A(object):
def __init__(self):
self._a = 10

@property
def a(self):
return getFunc(self._a)
@a.setter
def a(self, value):
setFunc(self._a, value)
@a.deleter
def a(self):
delFunc(self._a)

最佳答案

你不能,在实例上不行。 property 对象需要是 descriptor protocol 类的一部分它依赖于它的工作。

您可以使用__getattr__ , __setattr____delattr__ Hook 而不是动态代理属性访问。

关于python - 动态创建python属性函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25608767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com