Python 3.10¶
Python 3.10.0 (final) wurde am 4. Oktober 2021 veröffentlicht. Die Funktionen für 3.10 sind in PEP 619 definiert, und eine ausführliche Beschreibung der Änderungen findet sich in What’s New in Python 3.10.
Neue Syntaxfunktionen |
Status |
|
Structural Pattern Matching: Spezifikation |
||
Structural Pattern Matching: Motivation und Begründung |
||
Structural Pattern Matching: Tutorial |
||
Geklammerte Kontextmanager sind nun offiziell erlaubt |
||
Neue Funktionen in der Standardbibliothek |
||
Optionale Längenprüfung zu zip hinzufügen |
||
Verbesserungen am Interpreter |
||
Präzise Zeilennummern für Debugging und andere Werkzeuge |
||
Neue Typing-Funktionen |
||
Union-Typen als X | Y schreiben erlauben |
||
Explizite Typ-Aliasse |
||
Parameter-Spezifikationsvariablen |
||
Wichtige Veraltungen, Entfernungen oder Einschränkungen |
||
OpenSSL 1.1.1 oder neuer erforderlich |
||
Das distutils-Modul wird als veraltet markiert. |
Nicht relevant |
|
Das wstr-Mitglied in PyUnicodeObject wird als veraltet markiert und auf seine Entfernung vorbereitet. |
Nicht relevant |
|
Entfernen der Py_UNICODE-Encoder-APIs |
Nicht relevant |
|
Optionale EncodingWarning hinzufügen |
||
Weitere Sprachänderungen:
Der Typ |
|
Die von |
|
PEP 618: Die Funktion |
|
Eingebaute und Erweiterungsfunktionen, die ganzzahlige Argumente entgegennehmen, akzeptieren keine |
|
Wenn |
|
Zuweisungsausdrücke können nun ohne Klammern innerhalb von Mengen-Literalen und Mengen-Comprehensions sowie in Sequenzindizes (aber nicht in Slices) verwendet werden. |
|
Funktionen besitzen ein neues |
|
Zwei neue eingebaute Funktionen – |
|
Statische Methoden ( |
|
Annotationen für komplexe Ziele (alles außer den durch PEP 526 definierten |
|
Klassen- und Modulobjekte erstellen nun leere Annotations-Dicts bei Bedarf träge. Die Annotations-Dicts werden aus Gründen der Abwärtskompatibilität im |
|
Annotationen, die aus |
|
Die Verwendung ungebundener Variablen, von |
|
Hashes von NaN-Werten sowohl des Typs |
|
Beim Löschen der Konstante |
|
|
Änderungen an eingebauten Modulen:
Die fehlende Methode |
|
Die Methode |
|
Audit-Hooks für |
|
Das hashlib-Modul erfordert OpenSSL 1.1.1 oder neuer. |
|
Das hashlib-Modul unterstützt vorläufig OpenSSL 3.0.0. |
|
Der reine Python-Fallback von |
|
Unterstützung von |
|
Eine neue Funktion |
|
Hinzugefügt wurde |
|
|
|
|
|
Die Ausnahme |
|
Option zum Erstellen von MPTCP-Sockets mit |
|
Die Option |
|
Das ssl-Modul erfordert OpenSSL 1.1.1 oder neuer. |
|
Das ssl-Modul unterstützt vorläufig OpenSSL 3.0.0 und die neue Option |
|
Veraltete Funktionen und die Verwendung veralteter Konstanten führen nun zu einer |
|
Das ssl-Modul hat nun sicherere Standardeinstellungen. Cipher ohne Forward Secrecy oder mit SHA-1-MAC sind standardmäßig deaktiviert. Sicherheitsstufe 2 verbietet schwache RSA-, DH- und ECC-Schlüssel mit weniger als 112 Bit Sicherheit. |
|
Die veralteten Protokolle SSL 3.0, TLS 1.0 und TLS 1.1 werden nicht mehr offiziell unterstützt. Python blockiert sie nicht aktiv. Allerdings können OpenSSL-Build-Optionen, Distributionskonfigurationen, Hersteller-Patches und Cipher-Suites einen erfolgreichen Handshake verhindern. |
|
Ein Parameter timeout wurde zur Funktion |
|
Das ssl-Modul verwendet Heap-Typen und mehrphasige Initialisierung. |
|
Ein neues Verify-Flag |
|
Das Attribut |
|
Hinzugefügt wurde |
|
|
|
Hinweise