Что такое переменные аннотации в Python 3.6?

Python 3.6 скоро будет выпущен.PEP 494 - Расписание выпуска Python 3.6 упоминает конец декабря, поэтому я прошелЧто нового в Python 3.6 чтобы увидеть, что они упоминаютпеременные аннотации:

ПКП 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] = [] объяснить? Это определение пустого списка, который будет позволять целые числа?

Ответы на вопрос(2)

Ваш ответ на вопрос