Heim  >  Artikel  >  Backend-Entwicklung  >  Python3.8 neue Funktionen

Python3.8 neue Funktionen

藏色散人
藏色散人Original
2020-01-13 11:21:374238Durchsuche

Python3.8 neue Funktionen

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 = &#39;eric_idle&#39;>>> member_since = date(1975, 7, 31)>>> f&#39;{user=} {member_since=}&#39;"user=&#39;eric_idle&#39; member_since=datetime.date(1975, 7, 31)"
>>> delta = date.today() - member_since>>> f&#39;{user=!s}  {delta.days=:,d}&#39;&#39;user=eric_idle  delta.days=16,075&#39;

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn