我有一个python类,我需要添加任意数量的任意长列表。我需要添加的列表名称也是任意的。例如,在PHP中,我会这样做:
class MyClass {
}
$c = new MyClass();
$n = "hello"
$c.$n = array(1, 2, 3);
我如何在Python中执行此操作?
我也想知道这是否合理。另一种方法是在类中创建一个列表的字典,但由于列表的数量和大小是任意的,我担心可能会受到性能影响。
如果你想知道我想要完成什么,我正在写一个超轻量级的脚本解释器。解释器遍历人工编写的列表并创建某种字节码。每个函数的字节代码将存储为以“app”类中的函数命名的列表。我很想知道如何做到这一点的任何其他建议。
答案 0 :(得分:5)
使用setattr
。
>>> class A(object):
... pass
...
>>> a = A()
>>> f = 'field'
>>> setattr(a, f, 42)
>>> a.field
42
答案 1 :(得分:1)
我现在写它是最简单的方法,接下来是配置文件,然后查看优化特定元素。
让我们记住KISS原则。