所以我正在尝试编写一个python类,它接受四个参数,检查是否有任何参数为None。如果为none,则为self.parameter = 'None' else self.parameter = parameter。
我正在写下面的代码片段。
class meta():
def __init__(self, color, size, symbol, message):
for a in [color, size, symbol, message]:
if a == 'None':
self.a = 'None'
else:
self.a = a现在我知道这里的错误了,self.a被赋值为实例变量。但是我希望实例变量遍历self.color, self.size, self.symbol, self.message的值。
如何实现所需的功能?
发布于 2021-05-14 18:58:43
因为a是'None',所以if不是必需的。
因此,该函数简化为
class meta():
def __init__(self, color, size, symbol, message):
for a in [color, size, symbol, message]:
self.a = a接下来,您必须显式提供属性的名称:
class meta():
def __init__(self, color, size, symbol, message):
for name, value in [('color', color), ('size', size), ('symbol', symbol), ('message', message)]:
setattr(self, name, value)所以你不能用for循环来简化你的代码,它只会比简单的属性赋值更复杂:
class meta():
def __init__(self, color, size, symbol, message):
self.color = color
self.size = size
self.symbol = symbol
self.message = messagehttps://stackoverflow.com/questions/67533061
复制相似问题