Я хочу создать метод уровня пользователя внутри класса, в котором аргументы могут передаваться через несколько вариантов ключевого слова.Для этого я настраивал список разрешенных вариантов для каждого аргумента ключевого слова и проверял каждое ключевое слово в каждом из этих списков.Например:
def some_function(self, **kwargs):
"""
this function does something with a and b as keyword args
"""
dict_allowed_a = ['a_variation1','a_variation2',...]
dict_allowed_b = ['b_variation1','b_variation2',...]
for arg_str in kwargs():
if arg_str in dict_allowed_a:
local_a = kwargs[arg_str]
if arg_str in dict_allowed_b:
local_b = kwargs[arg_str]
else:
print('Invalid keyword', file=sys.stderr)
raise ValueError
return self._private_method(local_a, local_b)
У меня есть 3 вопроса, от более конкретного к менее конкретному:
- Как я могу проверить, прошел ли кто-то несколько вариантов одного аргумента, что должно вызватьисключение.
- Я делаю это правильно?
- Должен ли я делать это, пытаясь управлять переменными входами?