Python 3.10 може да се похвали, че е една от най -стабилните версии, достъпни за изтегляне от потребителите, и ще бъде пусната по -късно тази година. Новоиздадената версия ще дойде с много забележими промени, като например лесни за използване функционалности както за начинаещи, така и за опитни програмисти.
Очевидните подобрения в новата версия на Python включват въвеждането на структурен модел съвпадение, по -добри съобщения за грешки, нови оператори на съюз, точни номера на редове за отстраняване на грешки и много други Повече ▼.
Ето какво трябва да знаете за Python 3.10:
Съответствие на структурните модели в Python 3.10
Структурното съвпадение на шаблони прави писането на код лесен и продължава да бъде един от най -важните акценти в последната версия на Python. Python има за цел да подобри вече съществуващите изявления за съвпадение на регистър, присъстващи в предишните версии на езика за програмиране. Направена е актуализация на съществуващите изявления за съвпадение на случай в Python.
Нека да надникнем набързо в изпълненията на съвпадението на структурните модели:
Изразът match-case е част от езика на Python от известно време. Това твърдение се използва основно, за да се избегне досадната работа по написването на ако-иначе изявление няколко пъти.
Можете да сравнявате обекти със сходни свойства, като използвате тази функция в новата компилация.
съвпадение media_object:
случайно изображение (type = "jpg"):
# Върнете се както е
връщане media_object
случай на изображение (type = "png") | Изображение (type = "gif"):
връщане render_as (media_object, "jpg")
случай видео ():
повишаване на ValueError („Все още не мога да извлека кадри от видео“)
случай other_type:
повишаване на изключение (f "Тип носител {media_object} все още не може да се обработва")
Новата библиотека на python разпознава обекти като jpg, gif и видеоклипове. Този код може да работи безпроблемно, без да издава грешка.
2. Подобрени съобщения за грешки
Всеки кодер вероятно разбира важността на грешките при писане на код и колко вбесяващи могат да бъдат някои видове грешки. Предишните версии на Python хвърляха съобщения за грешки веднага щом имаше проблеми в синтаксиса. Това може да се дължи на грешен синтаксис, липсващи ключови думи, неправилни или грешно написани ключови думи, наред с други проблеми.
Тези съобщения за грешки далеч не бяха съвършени, тъй като за начинаещите (понякога дори за напредналите потребители) стана трудно да идентифицират истинската причина за грешката в кодовете си. Като програмист, Google продължава да бъде ваш съюзник в дешифрирането на причината за различни съобщения за грешки.
Например, много хора може да не знаят защо Python хвърля следната грешка:
SyntaxError: неочакван EOF при анализиране на съобщение за грешка.
Липсата на яснота в такива изявления подтикна най -новата версия на Python да подобри съществуващия набор от съобщения за грешки.
По -старите съобщения са заменени с лесно разбираеми съобщения за грешки като:
{никога не е бил затворен неочакван EOF при анализиране
Някои други промени включват:
Грешки в атрибутите като:
от колекции внос namedtoplo
модул „collections“ няма атрибут „namedtoplo“. Имате предвид: namedtuple?
Съобщенията за NameError се променят така, че да изглеждат така:
нов_вар = 5
печат (new_vr)>
NameError: името 'new_vr' не е дефинирано. Имате предвид: new_var?
3. Контекстни мениджъри в скоби
Новите мениджъри на контекст в скоби могат да направят кода ви да изглежда по -елегантен. Въпреки че не е основна функция, той лесно може да направи кода ви по -малко тромав. Тази функция е полезна, ако работите в екип и вашият код трябва да бъде структуриран.
Представете си да напишете изявление като:
с open ('file1.txt', 'r') като перка, open ('file2.txt', 'w') като fout:
fout.write (fin.read ())
Горният код работи, но първият ред е твърде дълъг и изглежда тромав. Можете да прекъснете реда, като използвате обратна наклонена черта (\) и направете кода да изглежда структуриран:
с open ('file1.txt', 'r') като перка, \ open ('file2.txt', 'w') като fout: fout.write (fin.read ())
С въвеждането на новия Parenthesized Context Manager можете също да прекъснете реда, като използвате скоби:
с (отворен ('file1.txt', 'r') като перка,
отворен ('file2.txt', 'w') като fout):
fout.write (fin.read ())
Свързани: Идеи за проекти на Python, подходящи за начинаещи
4. Оператор от нов тип съюз
Малка, но удобна функция в Python 3.10 е новият тип оператор на обединение. Всяка версия на Python идва с предварително определен набор от функции за подсказване на тип.
Операторът на обединението включва условна логика; например, int или плувам може да се запише като Съюз [X, Y]. Новият съюзен оператор може да се изрази като int | float също.
Въвеждането на нов съюзен операнд в Python 3.10 спестява време и прави кода да изглежда добре дефиниран.
Например:
def f (x: int | float) -> float:
връщане x * 3.142
f (1) # пропуск
f (1.5) # пас
f ('str') # linter ще покаже грешка с анотация
5. Точни номера на редове за отстраняване на грешки
Може би сте забелязали много пъти, преди проследяването на грешки да не ви пренасочи към правилния ред, където е възникнала грешка. Това прави отстраняването на грешки трудно за програмисти, които току -що са започнали да пишат код.
Недостатъчното проследяване на грешки е особено очевидно при писане sys.settrace и сродните инструменти в Python. По -новата версия подобрява това значително и можете да видите точни номера на редовете, когато възникне грешка.
За да донесе по -точен номер на ред, Python 3.10 измества надеждността си от текущата co_Inotab атрибут и използва новия метод co_lines () атрибут. Този атрибут работи по такъв начин, че f_lineo винаги съдържа точния номер на ред.
1. за (
2. x) в [1]:
3. пропуск
4. връщане
Свързани: Отстранете грешки във вашия Python код
6. Отложено оценяване на анотации
В рамките на Python оценката на анотацията на типа се извършва по време на дефиниция на функция. Това означава, че бележките за типа се оценяват ред по ред по начин отгоре надолу.
Въпреки че може да изглежда най-добрият вариант, все още има два проблема при този подход:
- Подсказките за типове се отнасят до типове, които все още не са дефинирани и не работят; тези подсказки трябва да бъдат изразени като низове.
- Модулът импортира забавено, тъй като подсказки за тип се изпълняват в реално време.
За да се избегнат проблеми с изпълнението, анотациите се съхраняват в _анотации_ и оценката се извършва заедно. Това позволява препращане напред, тъй като импортирането на модули се изпълнява първо, като по този начин намалява времето за инициализация.
Работа с най-новите функции в Python 3.10
Най-новата версия на Python ще излезе на 4 октомври 2021 г.; обещава да поправи грешките, които присъстват в съществуващите версии. Следващите версии ще подобрят текущата версия 3.10.
Структурното моделиране на шаблони е акцентът на тази нова актуализация и улеснява писането на кодове за подобни обекти. Други функции като мениджъри на контекст в скоби и нов тип Union Operators имат за цел да направят кода по-опростен и ефективен.
Независимо от това, има някои отлични техники за обработка на изключения в съществуващите версии на Python. Можете да използвате добре функциите на Python.
Покрийте базите си за кодиране с изключения от Python.
Прочетете Напред
- Програмиране
- Програмиране
- Python
- Съвети за кодиране

Уини е писател от Делхи и има 2 години опит в писането. По време на писането си тя е била свързана с агенции за дигитален маркетинг и технически фирми. Тя е писала съдържание, свързано с езици за програмиране, облачни технологии, AWS, машинно обучение и много други. В свободното си време тя обича да рисува, да прекарва време със семейството си и да пътува до планината, когато е възможно.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!
Щракнете тук, за да се абонирате