Python 3.10 szczyci się tym, że jest jedną z najbardziej stabilnych wersji dostępnych do pobrania przez użytkowników i zostanie wydany jeszcze w tym roku. Nowo wydana wersja będzie zawierała wiele zauważalnych zmian, takich jak łatwe w użyciu funkcje zarówno dla początkujących, jak i doświadczonych programistów.
Rażące ulepszenia w nowej wersji Pythona obejmują wprowadzenie wzorca strukturalnego dopasowanie, lepsze komunikaty o błędach, nowe operatory unii, dokładne numery linii do debugowania i wiele, jeszcze.
Oto, co musisz wiedzieć o Pythonie 3.10:
Dopasowywanie wzorców strukturalnych w Pythonie 3.10
Strukturalne dopasowywanie wzorców sprawia, że pisanie kodu staje się proste i nadal jest jednym z najważniejszych elementów najnowszej wersji Pythona. Python ma na celu ulepszenie istniejących wcześniej instrukcji dopasowania wielkości liter obecnych w poprzednich wersjach języka programowania. Jest to aktualizacja istniejących instrukcji dopasowania wielkości liter w Pythonie.
Rzućmy okiem na implementacje dopasowywania wzorców strukturalnych:
Oświadczenie match-case jest już od jakiegoś czasu częścią języka Python. To stwierdzenie jest w zasadzie używane, aby uniknąć żmudnej pracy nad pisaniem Jeśli inaczej oświadczenie wielokrotnie.
Korzystając z tej funkcji w nowej kompilacji, możesz dopasować obiekty o podobnych właściwościach.
dopasuj media_object:
obraz przypadku (type="jpg"):
# Zwróć tak, jak jest
zwróć obiekt_medialny
wielkość liter Obraz (type="png") | Obraz (type="gif"):
zwróć render_as (media_object, "jpg")
przypadek Wideo():
raise ValueError("Nie można jeszcze wyodrębnić klatek z wideo")
przypadek inny_typ:
podnieś wyjątek (f"Typ mediów {media_object} nie może być jeszcze obsłużony")
Nowa biblioteka Pythona rozpoznaje obiekty takie jak jpg, gif i wideo. Ten kod może działać bezproblemowo bez zgłaszania błędu.
2. Ulepszone komunikaty o błędach
Każdy programista prawdopodobnie rozumie znaczenie błędów podczas pisania kodu i jak irytujące mogą być niektóre typy błędów. Poprzednie wersje Pythona wyświetlały komunikaty o błędach, gdy tylko pojawiły się problemy ze składnią. Może to wynikać między innymi z nieprawidłowej składni, brakujących słów kluczowych, nieprawidłowych lub błędnie napisanych słów kluczowych.
Te komunikaty o błędach były dalekie od doskonałości, ponieważ początkującym (czasami nawet zaawansowanym użytkownikom) trudno było zidentyfikować prawdziwą przyczynę błędu w ich kodach. Jako programista Google nadal jest Twoim sojusznikiem w rozszyfrowywaniu przyczyn różnych komunikatów o błędach.
Na przykład wiele osób może nie wiedzieć, dlaczego Python zgłasza następujący błąd:
SyntaxError: nieoczekiwany EOF podczas analizowania komunikatu o błędzie.
Brak jasności w takich stwierdzeniach skłonił najnowszą wersję Pythona do ulepszenia istniejącego zestawu komunikatów o błędach.
Starsze komunikaty zostały zastąpione łatwymi do zrozumienia komunikatami o błędach, takimi jak:
{ nigdy nie był zamknięty nieoczekiwany EOF podczas parsowania
Kilka dodatkowych zmian to:
Błędy atrybutów, takie jak:
z kolekcji importuj namedtoplo
moduł „kolekcje” nie ma atrybutu „namedtoplo”. Czy miałeś na myśli: nazwana krotka?
Komunikaty NameError są modyfikowane tak, aby wyglądały następująco:
nowa_zmienna = 5
drukuj (nowy_vr)>
NameError: nazwa 'new_vr' nie jest zdefiniowana. Czy chodziło Ci o: nowa_zmienna?
3. Menedżerowie kontekstu w nawiasach
Nowe menedżery kontekstu w nawiasach mogą sprawić, że Twój kod będzie wyglądał bardziej elegancko. Nawet jeśli nie jest to ważna funkcja, może łatwo sprawić, że Twój kod będzie mniej niezgrabny. Ta funkcja jest korzystna, jeśli pracujesz w zespole, a Twój kod musi być ustrukturyzowany.
Wyobraź sobie, że piszesz oświadczenie takie jak:
with open('file1.txt', 'r') as fin, open('file2.txt', 'w') as fout:
fout.write (fin.read())
Powyższy kod działa, ale pierwsza linia jest zbyt długa i wygląda niezgrabnie. Możesz przełamać linię używając odwrotnego ukośnika (\) i spraw, aby kod wyglądał na uporządkowany:
with open('file1.txt', 'r') as fin, \ open('file2.txt', 'w') as fout: fout.write (fin.read())
Wraz z wprowadzeniem nowego menedżera kontekstu z nawiasami możesz również przełamać linię za pomocą nawiasów:
z (open('file1.txt', 'r') jako fin,
open('plik2.txt', 'w') jak fout):
fout.write (fin.read())
Związane z: Pomysły na projekty w Pythonie odpowiednie dla początkujących
4. Operator unii nowego typu
Mała, ale przydatna funkcja w Pythonie 3.10 to nowy typ operatora Union. Każde wydanie Pythona zawiera predefiniowany zestaw funkcji podpowiedzi.
Operator Union zawiera logikę warunkową; na przykład, int lub Platforma można zapisać jako Unia[X, Y]. Nowy operator związkowy można wyrazić tak: int|float także.
Wprowadzenie nowego operandu unii w Pythonie 3.10 oszczędza czas i sprawia, że kod wygląda na dobrze zdefiniowany.
Na przykład:
def f (x: int | float) -> float:
powrót x * 3,142
f (1) # pass
f (1.5) # pass
f('str') # linter pokaże błąd adnotacji
5. Dokładne numery linii do debugowania
Być może już wiele razy zauważyłeś, że śledzenie błędów nie przekierowuje Cię do właściwej linii, w której wystąpił błąd. To sprawia, że debugowanie jest trudne dla programistów, którzy dopiero zaczęli pisać kod.
Wadliwe śledzenie błędów jest szczególnie widoczne podczas pisania sys.settrace i powiązane narzędzia w Pythonie. Nowsza wersja znacznie to poprawia, a w przypadku wystąpienia błędu można zobaczyć dokładne numery wierszy.
Aby zapewnić dokładniejszy numer wiersza, Python 3.10 zmienia swoją niezawodność z obecnego co_Inotab atrybut i używa nowej metody co_lines() atrybut. Ten atrybut działa w taki sposób, że f_lineo zawsze zawiera dokładny numer wiersza.
1. dla (
2. x) w [1]:
3. podawać
4. powrót
Związane z: Debuguj swój kod Pythona
6. Odroczona ocena adnotacji
W Pythonie ocena adnotacji typu jest wykonywana w czasie definiowania funkcji. Oznacza to, że adnotacje typu są oceniane wiersz po wierszu w sposób odgórny.
Chociaż może się to wydawać najlepszą opcją, nadal istnieją dwa problemy z tym podejściem:
- Wskazówki dotyczące typów odnoszą się do typów, które nie zostały jeszcze zdefiniowane i nie działają; te wskazówki muszą być wyrażone jako ciągi.
- Importowanie modułu spowolniło się, ponieważ wskazówki dotyczące typów są wykonywane w czasie rzeczywistym.
Aby uniknąć problemów z wykonaniem, adnotacje są przechowywane w _adnotacje_ i ocena jest przeprowadzana razem. Pozwala to na odwoływanie się do przodu, ponieważ importy modułów są wykonywane jako pierwsze, co skraca czas inicjalizacji.
Praca z najnowszymi funkcjami w Pythonie 3.10
Najnowsza wersja Pythona zostanie wydana 4 października 2021 r.; obiecuje naprawić błędy obecne w istniejących wersjach. Kolejne wersje poprawią obecną wersję 3.10.
Najważniejszym elementem tej nowej aktualizacji jest mapowanie wzorców strukturalnych, które ułatwia pisanie kodów dla podobnych obiektów. Inne funkcje, takie jak menedżery kontekstu z nawiasami i operatory Unii nowego typu, mają na celu uproszczenie i zwiększenie wydajności kodu.
Niemniej jednak istnieją doskonałe techniki obsługi wyjątków w istniejących wersjach Pythona. Możesz zrobić dobry użytek z funkcjonalności Pythona.
Zakryj swoje podstawy kodowania wyjątkami Pythona.
Czytaj dalej
- Programowanie
- Programowanie
- Pyton
- Wskazówki dotyczące kodowania
Wini jest pisarzem mieszkającym w Delhi, mającym 2-letnie doświadczenie w pisaniu. Podczas pisania była związana z agencjami marketingu cyfrowego i firmami technicznymi. Pisała treści związane z językami programowania, technologią chmury, AWS, Machine Learning i nie tylko. W wolnym czasie lubi malować, spędzać czas z rodziną i w miarę możliwości wyjeżdżać w góry.
Zapisz się do naszego newslettera
Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Kliknij tutaj, aby zasubskrybować