Доброго времени суток! Есть несколько вопросов, касательно классов. И да, гугл не помог.. Т.к. рассматриваемые примеры слишком простые. Что-то вроде в примерах задачки 2+2=4, а на деле - взять производные и тд.
Начну по нарастающей.
На примере студентов и групп.
1) Я знаю, как создавать отдельно классы студентов и отдельно групп.
class Student:
def __init__(self, name1, name2, group):
self.name = name
self.name2= name2
self.group= group
def какие-то функции.
Но вот уже на этапе создание группы я явно что-то не так делаю.. И скорее всего можно сначала создать класс "группа", а потом уже по нисходящей создавать класс "студент", который наследует группу.. Но я не знаю, как с этим работать и сделал бы так, создав список со всеми экземплярами студентов..
group1[1] = new Student(), group1[2] = new Student()
затем бы перебором всех находил бы нужного. Это же не верный вариант? И можно как-то намного проще это сделать?
Четче поставлю вопрос.. Как создать классы групп и студентов? Как их хранить и потом обращаться к ним?
2) Когда нужно сохранять классы я создаю метод, который каким-то образом собирает все переменные и создаю что-то вроде json'a для каждого экземпляра класса. Создаю его явно и вручную, что-то вроде
{
"name": self.name
"name2": self.name2
}
А потом уже либо переводя в строку записываю в файл, либо в бд для каждой переменной своя ячейка.
Когда загружаю либо беру данные из файла и перевожу их обратно в json или паршу, если например не в json'e хранил данные. Либо получаю данные из бд. Затем уже, как в 1-ом пункте в цикле создаю.
Получается как-то монотонно и при малейших изменениях приходится редактировать сначала преобразование класса, затем его сохранение куда-то, а потом и загрузку. Каждый раз переписывая кучу переменных. Есть ли куда лаконичнее и проще варианты?