gpt4 book ai didi

python - 实例化具有任意数量属性的类

转载 作者:行者123 更新时间:2023-11-28 20:25:38 26 4
gpt4 key购买 nike

这个问题专门针对此处 Python 类的上下文,但可以更一般化。我正在创建一个 m 类,它将使用四个变量进行初始化,然后我想将其分配给该类的实例化。现在,它看起来像这样:

class mm(object):
def __init__(self, a, b, c, r):
self.a = a
self.b = b
self.c = c
self.r = r
# etc.

但是,我希望能够在一行中将变量分配给 self,类似于伪代码:

def __init__(self, a, b, c, r):
self.varname = var for var in [a, b, c, r]

如果这可以推广到任意数量的变量,那就更好了,这样你就可以得到类似的东西:

def __init__(self, **kwargs):
assign(self, varname, value) for varname, value in kwargs.iteritems()

但是,据我所知,像这样循环遍历语句是不可能的。有谁知道这样做的方法吗?

最佳答案

您可以使用setattr:

class mm(object):
def __init__(self, **kwargs):
for varname, value in kwargs.iteritems():
setattr(self, varname, value)

关于python - 实例化具有任意数量属性的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14544176/

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