Python 3.10¶
Python 3.10.0 (wersja finalna) został wydany 4 października 2021 roku. Funkcje wprowadzone w wersji 3.10 są opisane w PEP 619, a szczegółowy opis zmian można znaleźć w What’s New in Python 3.10.
Nowe funkcje składniowe |
Status |
|
Strukturalne dopasowywanie wzorców: specyfikacja |
||
Strukturalne dopasowywanie wzorców: motywacja i uzasadnienie |
||
Strukturalne dopasowywanie wzorców: samouczek |
||
Menedżery kontekstu w nawiasach są teraz oficjalnie dozwolone |
||
Nowe funkcje w bibliotece standardowej |
||
Dodanie opcjonalnego sprawdzania długości do zip |
||
Ulepszenia interpretera |
||
Precyzyjne numery wierszy dla narzędzi do debugowania i innych narzędzi |
||
Nowe funkcje typowania |
||
Możliwość zapisywania typów unii jako X | Y |
||
Jawne aliasy typów |
||
Zmienne specyfikacji parametrów |
||
Ważne wycofania, usunięcia lub ograniczenia |
||
Wymaganie OpenSSL 1.1.1 lub nowszego |
||
Wycofanie modułu distutils. |
Nie dotyczy |
|
Wycofanie i przygotowanie do usunięcia składowej wstr w PyUnicodeObject. |
Nie dotyczy |
|
Usunięcie interfejsów API koderów Py_UNICODE |
Nie dotyczy |
|
Dodanie opcjonalnego ostrzeżenia EncodingWarning |
||
Inne zmiany w języku:
Typ |
|
Widoki zwracane przez |
|
PEP 618: Funkcja |
|
Wbudowane i rozszerzające funkcje przyjmujące argumenty całkowite nie akceptują już obiektów |
|
Jeśli |
|
Wyrażenia przypisania mogą być teraz używane bez nawiasów wewnątrz literałów zbiorów i wyrażeń składanych zbiorów, a także w indeksach sekwencji (ale nie w wycinkach). |
|
Funkcje mają nowy atrybut |
|
Dodano dwie nowe funkcje wbudowane – |
|
Metody statyczne ( |
|
Adnotacje dla celów złożonych (wszystkiego poza celami |
|
Obiekty klas i modułów leniwie tworzą teraz puste słowniki adnotacji na żądanie. Słowniki adnotacji są przechowywane w |
|
Adnotacje składające się z |
|
Użycie niezwiązanych zmiennych, |
|
Wartości skrótu wartości NaN zarówno typu |
|
Wyjątek |
|
Wyjątki |
Zmiany w modułach wbudowanych:
Dodano brakującą metodę |
|
Metoda |
|
Dodano punkty zaczepienia audytu dla |
|
Moduł hashlib wymaga OpenSSL 1.1.1 lub nowszego. |
|
Moduł hashlib ma wstępne wsparcie dla OpenSSL 3.0.0. |
|
Czysto Pythonowa implementacja zastępcza |
|
Dodano wsparcie |
|
Dodano nową funkcję |
|
Dodano |
|
Dodano |
|
Dodano |
|
Wyjątek |
|
Dodano opcję tworzenia gniazd MPTCP za pomocą |
|
Dodano opcję |
|
Moduł ssl wymaga OpenSSL 1.1.1 lub nowszego. |
|
Moduł ssl ma wstępne wsparcie dla OpenSSL 3.0.0 oraz nową opcję |
|
Wycofane funkcje oraz użycie wycofanych stałych skutkują teraz wyjątkiem |
|
Moduł ssl ma teraz bezpieczniejsze ustawienia domyślne. Szyfry bez utajnienia z wyprzedzeniem lub z MAC opartym na SHA-1 są domyślnie wyłączone. Poziom bezpieczeństwa 2 zabrania słabych kluczy RSA, DH i ECC o mniej niż 112 bitach bezpieczeństwa. |
|
Wycofane protokoły SSL 3.0, TLS 1.0 i TLS 1.1 nie są już oficjalnie obsługiwane. Python nie blokuje ich aktywnie. Jednak opcje kompilacji OpenSSL, konfiguracje dystrybucji, łatki dostawców oraz zestawy szyfrów mogą uniemożliwić pomyślne nawiązanie połączenia. |
|
Dodano parametr timeout do funkcji |
|
Moduł ssl używa typów alokowanych na stercie oraz wieloetapowej inicjalizacji. |
|
Dodano nową flagę weryfikacji |
|
Dodano atrybut |
|
Dodano |
|
|
|
Uwagi