У меня возникли проблемы с пониманием реализации и использования UserList с объектами.
Для контекстуализации у меня есть файл класса, в котором есть объект File, который нужно открыть, прочитать и т. Д. И т. Д., И объект Client.
В меню «Файл» я открываю и читаю файл Клиента, в котором строка за строкой содержит информацию о Клиенте.
Таким образом, я читаю каждый параметр клиента, создаю объект клиента и добавляю объект в список.
Это было бы хорошим решением, но мы вынуждены использовать реализацию UserList.
Я понимаю, что это в основном оболочка (?) Для списков объектов.
По сути, объект, который имитирует списки в поведении, а это списки объектов.
Пока все хорошо.
Но я не могу понять, как правильно его реализовать, и я не совсем понимаю скудные примеры его реализации.
Мне не имеет смысла инициализировать UserList каждый раз, когда я создаю объект Client, но также не имеет смысла делать класс File, подкласс UserList, поскольку у нас есть еще 2 типа файлы (Эксперты и Расписание), о которых заботится Файл.
Поэтому я могу только предположить, что мое строение Классов / Объектов неверно, поэтому я открыт для предложений.
main.py
inFileClients = File("2019y01m12clients09h00.txt") # use sys.argv[1:]
inFileClientsHeader, inFileClientsContent = inFileClients.readFileClient()
File.py
def readFileHeader(self, inFile):
#Cut this, only for context
return Header(date, time, scope)
def readFileContentCli(self, inFile):
clientList = []
#Cut this, only for context
clientList.append(Client(name, local, start_date, start_hour, max_price, min_rep, domain, job_dur))
clientList = UserList.__init__(self, clientList)
return clientList
Client.py затем создает объект только с полученными данными.
Так что, на мой взгляд, UserList уже должен быть создан, и это только вопрос добавления объекта в этот список.