Dowiedz się o ekscytujących funkcjach Pythona 3.12, które ułatwią życie programisty.

Python planuje wydać wersję 3.12 języka w październiku 2023 r. Ta wersja zawiera szereg ekscytujących funkcji i ulepszeń. Jego celem jest poprawa doświadczenia związanego z kodowaniem poprzez zaoferowanie wydajniejszej i potężniejszej platformy, umożliwiającej doskonalenie umiejętności kodowania.

1. Ulepszone komunikaty o błędach

W ostatnich wersjach Python stale ulepszał swoje komunikaty o błędach. The Wersja 3.11 wprowadziła dokładniejsze komunikaty o błędach poprzez wskazanie dokładnych pozycji w obrębie linii.

Python 3.12 przenosi te ulepszenia na wyższy poziom dzięki następującym dodatkom:

  • Sugestie dotyczące brakujących modułów („zapomniałeś zaimportować X?”) obejmują teraz moduły z biblioteki standardowej.
  • Ulepszone sugestie błędów dotyczące typowych błędów składniowych związanych z importem. Na przykład, jeśli masz zaimportuj p z m w twoim kodzie pojawi się błąd z pytaniem, czy zamierzasz pisać z m import str.
  • instagram viewer
  • Błędy importu dla danego modułu obejmują teraz sugestie z przestrzeni nazw importowanego modułu.
  • NazwaBłąd teraz uwzględniają również sugestie samego siebie dodawane do nazwy, gdy są wywoływane w instancji klasy. Na przykład, jeśli nazwa prędkość nie jest zdefiniowany, zostanie wyświetlony komunikat o błędzie prędkość własna jako potencjalna korekta. Jest to szczególnie przydatne, ponieważ pominięcie samego siebie na przykład zmienne instancji są częstym źródłem błędów w instancjach klas.

2. Wsparcie dla Linux Perf Profiler

Powszechnie używane narzędzie do profilowania systemu Linux, wyk, może teraz pracować z programami Pythona 3.12. W przeszłości skupiało się tylko na śledzeniu operacji na poziomie C w środowisku wykonawczym Pythona.

W Pythonie 3.12 możesz teraz aktywować perf, aby zbierać również szczegółowe informacje o programach Pythona. Możesz go aktywować na poziomie środowiska lub w programie w języku Python, używając pliku sys.activate_stack_trampoline funkcjonować.

3. Wpisz Ulepszenia podpowiedzi

Od czasu jej wprowadzenia w Pythonie 3.5, składnia podpowiedzi typu w Pythonie umożliwiła narzędziom do lintingu wykrywanie z wyprzedzeniem szerokiej gamy błędów. Z każdym kolejnym wydaniem system typów Pythona ewoluował, obejmując szerszy zakres przypadków użycia, oferując ulepszone funkcje pisania.

WpisanoDict

Python 3.12 wprowadza użycie TypedDicts jako źródło podpowiadania argumentów słów kluczowych w funkcjach. Wykorzystuje to generyczny Unpack variadic, który został wprowadzony w wersji 3.11.

Oto przykład ilustrujący tę funkcję:

klasaFilm(WpisanoDict):
nazwa: ul
rok: wew

pokbla(**kwargs: Rozpakuj [Film]) -> Nic: ...

W tym przypadku funkcja bla może otrzymywać argumenty słów kluczowych o nazwach i typach zgodnych z zawartością Movie TypedDict: nazwa typu ul I rok typu int.

To ulepszenie okazuje się przydatne w przypadku funkcji podpowiedzi typu, które akceptują opcjonalne argumenty zawierające tylko słowa kluczowe bez wartości domyślnych.

Wpisz składnię parametru

Python 3.12 wprowadza bardziej zwięzłą składnię do określania typów w ogólnych klasach, funkcjach lub aliasach typów.

Rozważ następujące:

#stara metoda
z pisanie na maszynie import TypVar
_T = TypZmienna("_T")
pokfunkcja(a: _T, b: _T) -> _T:
...
# nowa metoda parametru typu
pokfunkcja[T](a: T, b: T) -> T:
...

Dzięki nowej składni nie ma potrzeby jawnego importowania TypeVar. Zamiast tego możesz użyć tzw funkcja[T] składnia wskazująca odniesienia do typów ogólnych. Możliwe jest również zdefiniowanie granic typu, na przykład określenie, że typ musi należeć do grupy typów. Jednak same te typy nie mogą być ogólne. Przykładem takiej składni jest func[T: (str, int)].

4. Zbieranie śmieci

W Pythonie 3.12 plik mechanizm wyrzucania elementów bezużytecznych (GC). zmienił się. Wcześniej GC był uruchamiany za każdym razem, gdy obiekt był przydzielany.

Jednak począwszy od Pythona 3.12, GC działa wyłącznie w środowisku wyłącznik ewaluacyjny mechanizm w pętli kodu bajtowego Pythona. Innymi słowy, działa między wykonaniem jednego kodu bajtowego a następnym.

Dodatkowo GC uruchamia się również, gdy wywoływany jest mechanizm sprawdzania obsługi sygnału CPython. To dostosowanie umożliwia okresowe wyrzucanie elementów bezużytecznych podczas długotrwałych wywołań rozszerzeń C poza środowiskiem uruchomieniowym.

Odsłonięcie Pythona 3.12

Python 3.12 wprowadza szereg ekscytujących funkcji i ulepszeń, które rewolucjonizują sposób kodowania. Dzięki ulepszonym komunikatom o błędach, ulepszonym możliwościom pisania, obsłudze Linux Perf Profiler i zoptymalizowane wyrzucanie elementów bezużytecznych, Python 3.12 wyposaża Cię w narzędzia do pisania wysokiej jakości kodu wydajnie. Wykorzystaj moc Pythona i wznieś swoje umiejętności kodowania na nowy poziom.