В питоне использует цикл for правильную технику программирования для создания объектов? - PullRequest
1 голос
/ 26 мая 2011

Хорошо, так что в основном то, что я читаю данные из файла, и с этими данными я хочу создать объект для каждой строки.

Итак, что-то вроде:

bar = [['a','b'],['c','d']]

for foo in bar:
    foo = Class_name(list_of_arguments)

Каким будет лучший способ распаковать список?Будет ли это лучше всего сделать в методе инициализатора класса или лучше сделать это до создания объекта и передать аргументы в формате, не включенном в список?Я спрашиваю, потому что списки содержат информацию, относящуюся к объекту, который будет использоваться классом.

Также я бы хотел, чтобы у каждого объекта было уникальное имя. Что мне для этого сделать?Будет ли лучше использовать одно из значений в списке?

1 Ответ

6 голосов
/ 26 мая 2011

Я ... думаю, я понимаю ваш вопрос.Я, вероятно, подхожу к этому так:

class myClass():
  def __init__(self, *args):
    # something here that actually uses the arguments.

data = [['a', 'b'], ['c', 'd']]

objects = [myClass(*vals) for vals in data]

Это должно создать экземпляр myClass для каждого набора значений и вернуть список новых объектов, доступных по индексу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...