Я читаю руководство по безопасности Java от Oracle.
class MyClass(object):
def __init__(self, foo, bar, foobar=1, anotherfoo=None):
self.foo = foo
self.bar = bar
self.foobar = foobar
self.anotherfoo = anotherfoo
Это плохой запах кода? Предлагает ли Python более элегантный способ справиться с этим?
Мои классы и даже некоторые конструкторы - это не только то, что я показал, но обычно у меня есть список аргументов, переданных в конструктор, которые в конечном итоге просто назначаются членам с таким же именем. Я сделал некоторые из аргументов необязательными, чтобы указать на проблему с чем-то вроде:
class MyClass(object):
def __init__(self, arg_dict):
self.__dict__ = arg_dict