Python 3.6 готов к выпуску. PEP 494 - Расписание релизов Python 3.6 упоминается в конце декабря, поэтому я прошел через Что нового в Python 3.6, чтобы увидеть, как они упоминают переменные аннотации:
PEP 484 представил стандарт аннотаций типа параметров функции, подсказки типа a.k.a. Этот PEP добавляет синтаксис Python для аннотирования типов переменных, включая переменные класса и переменные экземпляра:
primes: List[int] = [] captain: str # Note: no initial value! class Starship: stats: Dict[str, int] = {}
Как и для аннотаций функций, интерпретатор Python не придает никакого особого значения переменным аннотации и сохраняет их только в специальном атрибуте
__annotations__
для класса или модуля. В отличие от деклараций переменных в статически типизированных языках, цель синтаксиса аннотации заключается в том, чтобы предоставить простой способ указать метаданные структурированного типа для сторонних инструментов и библиотек через абстрактное синтаксическое дерево и атрибут__annotations__
.
Итак, из того, что я читал, они являются частью намеков типа, исходящих из Python 3.5, описанных в Что такое подсказки типа в Python 3.5.
Я следую примеру captain: str
и class Starship
, но не уверен в последнем: как объясняет primes: List[int] = []
? Является ли он определением пустого списка, который будет просто использовать целые числа?