Как вы выражаете Python Callable без аргументов? - PullRequest
4 голосов
/ 10 октября 2019

В документации для пакета Python typing он говорит :

Можно объявить тип возврата вызываемого объекта без указания сигнатуры вызова путем заменыбуквальный многоточие для списка аргументов в подсказке типа: Callable[..., ReturnType].

С другой стороны, также говорит :

Callable[..., ReturnType] (буквальный многоточие) можно использовать для ввода подсказки для вызываемого объекта, принимающего любое количество аргументов и возвращающего ReturnType.

Я хочу выразить функцию, которая не принимает аргументов, но возвращает строку. Многоточие, кажется, указывает на то, что есть некоторые неуказанные аргументы. Я хочу выразить, что аргументов, безусловно, нет.

Есть ли у меня какие-либо альтернативы использованию Callable[..., str] в моей подсказке?

1 Ответ

5 голосов
/ 10 октября 2019

Требуется последовательность типов аргументов, поэтому, если типов нет, вы передаете ей пустую последовательность:

Callable[[], str]
...