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