这就是我想要的。
def add_things_to_x(x,list_of_things):
for item in list_of_things:
x.item = item
return x
我该怎么做?
由于看起来很难做到,我猜可能有更好的方法和理由不这样做?
我如何使用这种功能的一个例子。
average_height = 10
std_height = 3
x = load_data()
x = add_things_to_x(x,[average_height,std_height])
x.save_data()
以便稍后如果我pickle.load(x)我可以调用x.std_height和x.average_height
答案 0 :(得分:2)
将setattr
用于此类事情:
for k, v in {'average_height': 10, 'std_height': 3}:
setattr(x, k, v)
在结束时,您已将x.item
设置为不同的值,最后只有最后一个值。这避免了这个问题,因为属性的名称是作为字符串参数发送的。