Я новичок в python, и я пытаюсь динамически создавать новые экземпляры в классе. Итак, позвольте мне дать вам пример, если у меня есть класс вроде этого:Динамически создавать экземпляры класса python
class Person(object):
def __init__(self, name, age, job):
self.name = name
self.age = age
self.job = job
Насколько я знаю, для каждого нового экземпляра я должен вставить, я бы объявить переменную и прикрепить ее к человек, что-то вроде этого:
Есть ли способ, которым я могу динамически это делать? Давайте предположим, что у меня есть словарь, как это:
persons_database = {
'id' : ['name', age, 'job'], .....
}
Могу ли я создать фрагмент кода, который может выполнять итерацию по этой БД и автоматически создавать новые экземпляры в Person
классе?
Это сработало! Но теперь эти экземпляры не будут привязаны к какой-либо переменной? Позволяет сказать, что я создаю новую функцию в этом классе: def age_increment (self): self.возраст = + 1 нотация, что я узнал, если вы объявили экземпляр так: боб = человек (имя = «боб», возраст = 23, работа = «профессор») Чтобы использовать вы должны были бы: bob.age_increment() Как это сделать сейчас? – Juliano
Просто используйте методы доступа к списку, например. для создания возраста первого человека в списке, 'people [0] .increment_age()' – lemonhead
Вам нужно будет получить доступ к объектам из списка. Проблема здесь заключается в определении того, какой элемент в списке соответствует тому, кого вы хотите обновить. Для этого вы можете использовать словарь вместо списка. Я обновил свой ответ, чтобы показать, как это сделать. – rfj001