Neue Funktionen von Python3.8
Die stabile Version von Python 3.8 wurde veröffentlicht und die offizielle Website hat einen Artikel veröffentlicht, in dem die neuen Funktionen vorgestellt werden. Ausgewählte Artikel werden hier aufgezeichnet.
Neuer Zuweisungsoperator:=
Funktion: Weisen Sie einen Teil des Werts in einem größeren Ausdruck einer Variablen zu, da dieser so aussieht Augen und Zähne eines Walrosses hat der :=-Operator einen besonderen Namen: Walross-Operator
Beispiel 1:
if (n := len(a)) > 10: print(f"List is too long ({n} elements, expected <= 10)")
verwendet :=, um den zweimaligen Aufruf von len() zu vermeiden.
Neues (nur Positionsparameter) Syntaxsymbol /
Funktion: Zeigt an, dass die Parameter einiger Funktionen in Position angegeben werden müssen und nicht als Schlüsselwortparameter verwendet werden können.
Beispiel
def f(a, b, /, c, d, *, e, f): print(a, b, c, d, e, f)
In diesem Beispiel sind die Parameter a und b nur Positionsparameter, während c oder d nur Positionsparameter oder Schlüsselwortparameter sein können, e und f müssen ein Schlüsselwortargument sein.
Neue PYTHONPYCACHEPREFIX-Einstellung (-X pycache_prefix)
Funktion: Konfigurieren Sie den impliziten Bytecode-Cache so, dass er einen separaten parallelen Dateisystembaum verwendet, anstatt das Standard-Pycache-Unterverzeichnis in zu verwenden jedes Quellverzeichnis.
Debug-Builds teilen ABI mit Release-Builds
f string new support = Spezifizierer für selbstdokumentierende Ausdrücke und Debugging
f string ist ein formatiertes String-Literal, das in Python 3.6 eingeführt wurde und sich großer Beliebtheit erfreut.
Neue Unterstützung für =-Spezifizierer wird dieses Mal in Version 3.8 hinzugefügt.
>>> user = 'eric_idle'>>> member_since = date(1975, 7, 31)>>> f'{user=} {member_since=}'"user='eric_idle' member_since=datetime.date(1975, 7, 31)" >>> delta = date.today() - member_since>>> f'{user=!s} {delta.days=:,d}''user=eric_idle delta.days=16,075'
PEP 578: Python Runtime Audit Hooks / Runtime Audit Hooks
PEP fügt Audit-Hooks und Verifizierungs-Open-Hooks hinzu. Beide Versionen sind in Python und nativem Code verfügbar, sodass in reinem Python-Code geschriebene Anwendungen und Frameworks die zusätzlichen Benachrichtigungen nutzen können, während Einbetter oder Systemadministratoren gleichzeitig die Überwachung immer aktivieren können.
PEP 587: Python-Initialisierungskonfiguration
PEP 587 fügt eine neue C-API zur Konfiguration der Python-Initialisierung hinzu und bietet so eine bessere Kontrolle über die gesamte Konfiguration und einen besseren Fehlerbericht.
Andere
continue kann endlich legal im „finally:“-Block erscheinen
In Windows wurde die standardmäßige asynchrone (asyncio) Ereignisschleife geändert zu ProactorEventLoop
Unter macOS wird die Spawn-Startmethode standardmäßig zum Multiprocessing hinzugefügt
Multiprocessing kann jetzt gemeinsam genutzte Speichersegmente verwenden, um Pickle-Overhead zwischen Prozessen zu vermeiden
typed_ast wird zusammengeführt zurück in CPython;
LOAD_GLOBAL ist jetzt 40 % schneller;
Pickle verwendet jetzt standardmäßig Protokoll 4, was die Leistung verbessert;
Python-Trainingsvideos, alle im Python Learning Network, willkommen beim Online-Lernen!
Das obige ist der detaillierte Inhalt vonPython3.8 neue Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!