python批量修改类的属性?
问题描述:
class test():
def __init__(self):
self.op=1
self.ed=2
self.et=3
def edit(self,op,num):
self.eval(op)=num
test1=test()
test1.edit(op='ed',num=4) #<—我希望达到的效果
这样的。我定义了一个类,初始化后有多个属性。
想定义一个方法 (例中的edit),输入一个字符串和值;之后将这个对象的指定属性改为默认值。
我换了几种写法都报错。。
非要为每一个属性的修改定一个方法吗?没有简洁的办法吗?
谢谢大家
答
def edit(self, op, num):
setattr(self. op, num)