Как назвать экземпляры классов после повторяющихся ключей? - PullRequest
0 голосов
/ 21 июля 2011

Я хотел бы создать экземпляры классов, получающие свои имена из списочных значений или словарей ключей или значений. В основном я хотел бы сделать следующее:

iter = ['foo', 'bar']
for a in iter:
    a = Cls()

и получите экземпляры foo и bar класса Cls () вместо того, чтобы экземпляр ссылался на обновленный в каждом цикле.

Заранее спасибо.

Ответы [ 2 ]

7 голосов
/ 21 июля 2011

Может быть со словарем:

iter = ['foo', 'bar']
result = {}
for a in iter:
    result[a] = Cls()

И в результате вы получите { 'foo' : instance_of_Cls, 'bar' : instance_of_Cls}

0 голосов
/ 21 июля 2011

Вы можете использовать динамическую оценку кода.

inst1 = eval("foo()")
inst2 = eval(a + "()")
inst3 = eval(a)()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...