Добрый вечер.
Есть список стрингов. Подскажите пожалуйста, как создать объекты с именами из этого списка?
И как к ним потом обращаться?
Заранее спасибо!
objs={} for name in names: objs[name]=MyClass(name)
Sergey85да так никто не пишет.
Или так никто не пишет?
globals()["x"]=3
JOHN_16Это я и описал в своём следующем после вопроса сообщении.
Для этого есть другие структуры данных, например словари с именами в качестве ключей.
JOHN_16За эту идею спасибо. Думаю, это как-то так реализуется
В исключительных случаях, или когда это делается достаточно осмысленно, можно заиметь класс выполняющий роль контейнера (банальный class Foo: pass) к экземпляру которого можно через setattr(…) присвоить атрибут. Но думаю для вас это пока слишком…
class Foo: pass conteyner=Foo() class MyClass: def __init__(self,name): self.name=name for name in ['a','b','c']: setattr(conteyner, name, MyClass(name))