Найти - Пользователи
Полная версия: Объект из строки
Начало » Python для новичков » Объект из строки
1
Sergey85
Добрый вечер.
Есть список стрингов. Подскажите пожалуйста, как создать объекты с именами из этого списка?
И как к ним потом обращаться?
Заранее спасибо!
Sergey85
Или так никто не пишет?
Может надо создать словарь объектов через цикл по списку имён?
типа:
 objs={}
for name in names:
    objs[name]=MyClass(name)
doza_and
Sergey85
Или так никто не пишет?
да так никто не пишет.
 globals()["x"]=3
JOHN_16
Это типичный вопрос от людей которые не разбираются в программировании. Так никто не делает потому что это бессмысленно. Для этого есть другие структуры данных, например словари с именами в качестве ключей. В исключительных случаях, или когда это делается достаточно осмысленно, можно заиметь класс выполняющий роль контейнера (банальный class Foo: pass) к экземпляру которого можно через setattr(…) присвоить атрибут. Но думаю для вас это пока слишком…
Sergey85
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))
Но со словарём, я думаю, удобней.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB