Прямо сейчас я изучаю Python и борюсь с несколькими концепциями ООП, одна из которых заключается в том, насколько трудно (для меня) динамически инициализировать экземпляры классов и назначать их динамически генерируемому имени переменной, и почему я читаю этоЯ не должен делать это в первую очередь.
В большинстве потоков с аналогичным направлением ответ, как представляется, заключается в том, что делать это не на Pythonic.
Например, генерировать имена переменных на лету в python
Может кто-нибудь уточнить, пожалуйста?
Возьмите типичный пример обучения ООП:
LOE = ["graham", "eric", "terry_G", "terry_J", "john", "carol"]
class Employee():
def __init__(self, name, job="comedian"):
self.name = name
self.job = job
Почему лучше сделать это:
employees = []
for name in LOE:
emp = Employee(name)
employees.append(emp)
а затем
for emp in employees:
if emp.name == "eric":
print(emp.job)
вместо этого
for name in LOE:
globals()[name] = Employee(name)
и
print(eric.job)
Спасибо!