Was sind variable Annotationen in Python 3.6?
Python 3.6 wird veröffentlicht.PEP 494 - Release-Zeitplan für Python 3.6 Erwähnt das Ende Dezember, so ging ich durch Was ist neu in Python 3.6 um zu sehen, erwähnen sie dievariable Anmerkungen:
PEP 484 Eingeführter Standard für Typanmerkungen von Funktionsparametern, a.k.a. Typhinweise. Dieser PEP fügt Python eine Syntax hinzu, mit der die Variablentypen einschließlich Klassenvariablen und Instanzvariablen mit Anmerkungen versehen werden:
primes: List[int] = []
captain: str # Note: no initial value!
class Starship:
stats: Dict[str, int] = {}
Genau wie bei Funktionsanmerkungen misst der Python-Interpreter Variablenanmerkungen keine besondere Bedeutung bei und speichert sie nur in einem speziellen Attribut__annotations__
einer Klasse oder eines Moduls. Im Gegensatz zu Variablendeklarationen in statisch typisierten Sprachen besteht das Ziel der Annotationssyntax darin, auf einfache Weise strukturierte Typmetadaten für Tools und Bibliotheken von Drittanbietern über den abstrakten Syntaxbaum und das @ anzugebe__annotations__
attribute.
So nach dem, was ich gelesen habe, sind sie Teil der Typhinweise aus Python 3.5, beschrieben inWas sind Tippfehler in Python 3.5.
Ich folge demcaptain: str
undclass Starship
Beispiel, aber nicht sicher über die letzte: Wie funktioniertprimes: List[int] = []
erklären? Definiert es eine leere Liste, die nur Ganzzahlen zulässt?