【发布时间】:2018-03-26 15:23:57
【问题描述】:
例如下面的例子:
class myClass():
def __init__(self):
self.A = 1.
class essai():
def __init__(self):
self.C = myClass()
def ref(self):
mystring = 'C.A'
nameclass, nameparam = mystring.split('.')
print(nameclass, nameparam)
print(getattr(getattr(self,nameclass),nameparam))
Ref = getattr(getattr(self,nameclass),nameparam)
print(Ref)
self.modify_val(Ref,2)
print(self.C.A)
def modify_val(self,x,y):
x=y
E=essai()
E.ref()
我想做的是获取essai 中C 类的属性A 的引用。关键是我想使用该引用来更新方法modify_val 中的C.A 的值。通过使用包含我要修改的类和属性 (mystring = 'C.A') 的字符串,我不明白如何获取对该属性的引用(例如 C.A)以及如何使用该引用进行修改属性。在我的示例中,modify_val 函数不会更新 C.A 值,因为 Ref 实际上不是参考。
因此我得到:
C A
1.0
1.0
1.0
我希望最后一次打印是 2
【问题讨论】:
标签: python class reference attributes