Допустим, у меня есть класс под названием «Карта». Карта построена с аргументом "страна". При создании экземпляра Map следует создать номер объекта класса «Город», основываясь на списке названий городов для страны. Но как назвать «городские» объекты?
псевдокод:
class Map(object):
def __init__(self, country):
for i in range(len(citynames)):
cityname_i = City(i)
На словах:
Допустим, у меня есть список названий городов: ["Бостон", "Чикаго", "Денвер]
Когда я тогда делаю что-то вроде
us_map = Map(america)
Я бы хотел, чтобы Map создал три экземпляра класса City (определенные в другом месте) с именами "Boston", "Chigago" и "Denver".
Я новичок в этом, так что, возможно, я перепутал свой глоссарий ООП глоссарий. Если так, пожалуйста, поправьте меня.
EDIT:
Кажется, мой пример вызвал некоторую путаницу. На мой взгляд, вопрос не в словарях. Я просто использовал это в качестве примера.
Я создаю игру, где люди могут загружать любое количество сценариев. Я не знаю, сколько сценариев они загружают. Но все сценарии в основном работают одинаково, с несколькими методами. Поэтому, когда я создаю «Game = Game (folder)», мой класс должен создать экземпляр класса Scenario для каждого загруженного файла сценария. Затем третий класс «Двигатель» проигрывает все сценарии ...
Но как мне автоматически присваивать имена экземплярам "Сценария"?
На данный момент я использую «глоб», чтобы найти файлы сценариев в соответствующей папке. Так что у меня они есть в списке за пределами класса.
UPDATE:
Кажется, либо я не разъяснил свой вопрос (могу ли я создавать экземпляры автоматически на лету), либо что хорошие люди скорее укажут мне правильное направление, чем ответят на мой глупый вопрос. В любом случае - я думаю, что словарь это путь. Итак, сейчас я закрываю этот вопрос (первым ответил rplnt) и присваиваю правильный ответ первому постеру. Спасибо за помощь.