Я создаю n число экземпляров класса и помещаю их в группу. Я могу в отдельном модуле сделать счётчик и
# Функция в модуле
def create_populations(screen, settings, humans):
for i in range(settings.HUMANS_AMOUNT):
human = Human(screen, settings) # Создать экземпляр класса
humans.add(human) # Добавить его в группу
human.create_humans()
Но могу ли я ( и тут ещё важно не только можно или нет, а насколько это правильно с точки зрения логики и поддержки кода) этот счётчик перенести в метод самого класса и создавать n число экземпляров класса внутри самого класса и там же помещать их в группу, а функцию вызова этого метода класса, вызывать один раз в модуле?
#функция в модуле
def create_populations(screen, settings, humans):
human = Human(screen, settings) # 1 раз создаю экземпляр, чтобы обратиться к его методу
human.create_humans(humans) # передаю методу - Group()
# метод класса
def create_humans(self, humans):
for i in range(settings.HUMANS_AMOUNT)
human = Human(self.screen, self.settings) # создаю экземпляры самого себя внутри себя
humans.add(human) #добавляю их в группу
Глупо это или нормальна практика? Я создаю экземпляры класса внутри метода этого же класса. Есть ли недостатки и преимущества? Или это полный бред и так нельзя делать?