У меня есть метод с подписью следующим образом:
def get_users_for_survey(survey_id: (int, str),show_deleted_users: bool = False) -> list:
pass
Я избегал тела метода, потому что меня интересует только часть подсказки типа для Survey_id? Похоже, это означает, что это может быть либо int, либо str. Я подумал, что если бы это было намерением, то это должно было быть Survey_id: Union(int,str). PyCharm не возражает. Как вы думаете, я что-то пропустил в PEP 484? Я не думаю, что это должен был быть кортеж.
Изменить Согласно приведенным здесь ответам, это просто ошибка. Теперь я знаю, в чем причина этой ошибки. В том же методе следующая строка была:
if survey_id and isinstance(survey_id, (int, str)):
Таким образом, вы видите в isinstance, что если вы хотите разместить несколько типов, это допустимый синтаксис. Автор этого метода считает, что это допустимый синтаксис и для подсказки типа. Вот ссылка: Python isinstance с несколькими типами