как сделать так, чтобы один параметр функции принимал несколько различных допустимых строковых значений?

#python #function #exception #parameters #parameter-passing

Вопрос:

Я пишу функцию, которая обрабатывает данные на основе ввода пользователем параметра функции.

Пользователь ограничен в предоставлении только некоторых приемлемых входных данных с учетом регистра.

Пожалуйста, проверьте функцию ниже и дайте мне знать, правильно ли я это делаю или есть какой-либо другой лучший или питонический способ сделать это?

 def test_func(param_1: str):
    acceptable_params = ['first', 'second', 'third']
    if param_1 not in acceptable_params:
        raise Exception(f''{param_1}' is not an acceptable word')
    print(param_1)
 

Это прекрасно работает для меня, но мне любопытно, есть ли что-то лучшее в этом или в том, чтобы это выглядело более профессионально?

Любая помощь будет признательна. Спасибо

Комментарии:

1. это отлично подходит для проверки с учетом регистра, которая также чувствительна к дополнительным символам (таким как пробел или ввод …)

Ответ №1:

 assert param_1 in ['first', 'second', 'third'], f"'{param_1}' is not an acceptable word"