Filyushin
@Filyushin
Python, Delphi, Firebird

Как в python передать параметр как list of objects?

В конструктор класса GenTable нужно передать список полей GenField. Внутри GenTable не могу получить доступ к полям класса. Подскажите, в чём проблема?
class GenField:
    def __init__(self, name, ftype, min_length, max_length):
        self.name = name
        self.ftype = ftype
        self.min_length = min_length
        self.max_length = max_length

    def __str__(self):
        return 'Field name: %s (%s)' % (self.name, self.ftype)


class GenTable:
    def __init__(self, name, count_record, *fields):
        self.name = name
        self.count = count_record
        self.fields = fields[:]

    def __str__(self):
        return 'Generate for table %s count %d' % (self.name, self.count)

    def get_fields(self):
        for field in self.fields:
            print(field.name)


field1 = GenField('id', 'int', 1, 1000)
field2 = GenField('name', 'str', 10, 20)
field3 = GenField('is_delete', 'int', 0, 1)
field4 = GenField('id_parent', 'int', 0, 1000)

print (field1)

field_list = []
field_list.append(field1)
field_list.append(field2)
field_list.append(field3)
field_list.append(field4)

table = GenTable('city', 100, field_list)
print(table)
table.get_fields()
  • Вопрос задан
  • 3470 просмотров
Решения вопроса 1
@bromzh
Drugs-driven development
Ты звёздочку забыл
table = GenTable('city', 100, *field_list)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 мая 2024, в 22:58
3000 руб./за проект
18 мая 2024, в 21:07
5000 руб./за проект
18 мая 2024, в 20:58
5000 руб./за проект