В настоящее время у меня есть функция с множеством необязательных аргументов, что-то вроде этого:
def many_argument_function(required1, required2, optional1=1, optional2=2,
optional3=None, optional4="Test", optional5="g",
optional6=2, optional7=(0, 255, 0), optional8=0.5):
# Do stuff
Но в действительности у нее более 20 необязательных аргументов, которые принимают пять строк даже с ограничением в 120 символов.
Существует ли шаблон проектирования, чтобы упростить это / сделать его красивее?
PS Я рассмотрел возможность создания отдельного файла конфигурации для этой функции, но затем вызывать его было бы раздражающим, поскольку в большинстве случаев только один илииспользуются два необязательных аргумента.
EDIT1: я не хочу использовать kwargs
, так как мне нужны имена аргументов и значения по умолчанию, видимые в моей IDE (PyCharm)