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