Как лучше всего написать конструктор, когда у вас есть класс с множеством атрибутов?
Например, в колледже мы получили фрагмент кода, в котором вы должны явно установить все атрибуты, когдаВы создаете объект.Я заметил, что некоторые из них используются только один раз в начале / конце.Поэтому я создал равный код, в котором я даю некоторые значения по умолчанию для редко используемых атрибутов и устанавливаю их вне объекта создания только в начале / конце.
Я хотел спросить, рекомендуется ли такой подход и существует лиобщий подход к созданию конструкторов для классов со многими атрибутами.
Вот упрощенная версия кода колледжа:
class point(object):
def __init__(self,x,y,bonus,start_point,stop_point):
self.x = x
self.y = y
self.bonus = bonus
self.start_point = start_point
self.stop_point = stop_point
#some more attributes
if __name__ == '__main__':
#some code here
p = point(1,1,100,False,False)
#some code here
Моя версия:
class point(object):
def __init__(self,x,y,bonus):
self.x = x
self.y = y
self.bonus = bonus
self.start_point = False
self.stop_point = False
#some more attributes
if __name__ == '__main__':
#some code here
p = point(1,1,100)
#some code here
#start/stop points are 1 in n (n=10000) in the original code
#so set these attributes once in the beggining/end
p.start_point = False
p.stop_point = True