gpt4 book ai didi

python - 一次设置多个对象属性

转载 作者:太空狗 更新时间:2023-10-30 00:31:49 37 4
gpt4 key购买 nike

有没有办法在一行中设置同一个对象的多个属性,类似于为多个变量赋值的方式?

如果我会写

a,b,c=1,2,3

我想要一个类似的东西

someObject.(a,b,c)=1,2,3

效果与

相同
someObject.a=1
someObject.b=2
someObject.c=3

最佳答案

def setattrs(_self, **kwargs):
for k,v in kwargs.items():
setattr(_self, k, v)

像这样使用这个函数:

setattrs(obj,
a = 1,
b = 2,
#...
)

您也可以在类上定义此函数,但那样不太通用(即仅适用于该类实例)。

另一个答案提到了 __dict__.update,它可以被重写以去掉引号:obj.__dict__.update(a=1, b=2),但是我不推荐使用这种方法:它不适用于属性,如果您从简单的属性迁移到属性,可能很难注意到。基本上,__dict__ 是“隐藏”属性、实现细节,除非您真的想以某种方式更改实现,否则不应使用它。

关于python - 一次设置多个对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30212361/

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