以编程方式/动态地将参数连接到对象以访问数据

Programmatically / Dynamically concatenate parameters to an object to access data

是否可以这样做?

class child:
    def __init__(self):
        self.figure = "Square"
        self.color = "Green"

bot = child()
bot_parameters = ['color', 'figure'] 

[print(bot.i) for i in bot_parameters] #Attribute Error from the print function.

我知道我可以使用 __dict__ 访问参数值,但我想知道是否可以将参数连接到 programmatically/dynamically 获取值。

您可以同时使用 built-in vars() and getattr() 函数并动态检索 class 实例的属性,如下所示:

class Child:
    def __init__(self):
        self.figure = "Square"
        self.color = "Green"

bot = Child()

print([getattr(bot, attrname) for attrname in vars(bot)])  # -> ['Square', 'Green']

可以 也只是硬编码 ['figure', 'color'],但这不是“动态”的,并且必须在 class' 属性更改时更新.