Почему Python использует подсказку типа None вместо NoneType? - PullRequest
2 голосов
/ 10 апреля 2020

Для объекта Python None тип подсказки None используется вместо его фактического типа NoneType. Из документов :

Обратите внимание, что None как подсказка типа является особым случаем и заменяется типом (None).

Я нахожу это сбивает с толку и никаких дальнейших объяснений не дано.

Кто-нибудь знает причину этого?

1 Ответ

1 голос
/ 10 апреля 2020

Это просто выбор дизайна. За этим нет особой причины.

Запись def fn(x: None) -> None более краткая, чем def fn(x: NoneType) -> NoneType (и ИМХО также более понятная).

Это также согласуется с другими подсказками типов: List, Dict, et c, которые представляют собой одно слово (такое же, как у соответствующей встроенной функции) с заглавной первой буквой.

...