Подсказка типов с помощью встроенного в Python `callable`Python

Программы на Python
Anonymous
Подсказка типов с помощью встроенного в Python `callable`

Сообщение Anonymous »

В Python 3.10 и более поздних версиях стали доступны собственные подсказки типов со встроенными типами, а также оператор | для замены typing.Union. Я пытаюсь ввести подсказку вызываемого типа, не прибегая к библиотеке ввода.
Следующее работает нормально:

Код: Выделить всё

def f(a: callable):
pass
Однако, когда я пытаюсь использовать это с необязательным аргументом, например:

Код: Выделить всё

def f(a: callable | None):
pass
Я получаю следующую ошибку:

Код: Выделить всё

TypeError: unsupported operand type(s) for |: 'builtin_function_or_method' and 'NoneType'
Как правильно указать необязательный вызываемый тип в этом случае?

Подробнее здесь: https://stackoverflow.com/questions/790 ... n-callable

Вернуться в «Python»