Python 3.10 может похвастаться тем, что является одной из самых стабильных версий, доступных для загрузки пользователями, и будет выпущен позже в этом году. В недавно выпущенной версии будет много заметных изменений, таких как простые в использовании функции как для новичков, так и для опытных программистов.
Яркие улучшения в новой версии Python включают введение структурного шаблона. сопоставление, улучшенные сообщения об ошибках, новые операторы объединения, точные номера строк для отладки и многое другое. более.
Вот что вам нужно знать о Python 3.10:
Сопоставление структурных шаблонов в Python 3.10
Сопоставление структурных шаблонов упрощает написание кода и продолжает оставаться одним из основных моментов последней версии Python. Python нацелен на улучшение ранее существовавших операторов регистра совпадений, представленных в предыдущих версиях языка программирования. В него были внесены изменения в существующие операторы регистра совпадений в Python.
Давайте быстро познакомимся с реализациями сопоставления структурных шаблонов:
Оператор match-case уже некоторое время является частью языка Python. Этот оператор в основном используется, чтобы избежать утомительной работы по написанию если еще заявление несколько раз.
Вы можете сопоставлять объекты с похожими свойствами, используя эту функцию в новой сборке.
соответствовать media_object:
case Image (type = "jpg"):
# Вернуть как есть
вернуть media_object
case Image (type = "png") | Изображение (type = "gif"):
вернуть render_as (media_object, "jpg")
case Video ():
Raise ValueError («Пока не удается извлечь кадры из видео»)
case other_type:
поднять исключение (f "Тип носителя {media_object} пока не может быть обработан")
Новая библиотека Python распознает такие объекты, как jpg, gif и видео. Этот код может работать без сбоев, не вызывая ошибок.
2. Улучшенные сообщения об ошибках
Каждый программист, вероятно, понимает важность ошибок при написании кода и то, насколько раздражающими могут быть некоторые типы ошибок. Предыдущие версии Python выдавали сообщения об ошибках, как только возникали проблемы с синтаксисом. Это могло быть связано с неправильным синтаксисом, отсутствующими ключевыми словами, неправильными или ошибочными ключевыми словами, среди других проблем.
Эти сообщения об ошибках были далеки от совершенства, поскольку новичкам (иногда даже опытным пользователям) становилось трудно определить настоящую причину ошибки в своих кодах. Как программист, Google продолжает быть вашим союзником в расшифровке причин различных сообщений об ошибках.
Например, многие люди могут не знать, почему Python выдает следующую ошибку:
SyntaxError: неожиданный EOF при синтаксическом анализе сообщения об ошибке.
Отсутствие ясности в таких утверждениях побудило новейшую версию Python улучшить существующий набор сообщений об ошибках.
Старые сообщения были заменены понятными сообщениями об ошибках, например:
{никогда не закрывался неожиданный EOF при разборе
Еще несколько изменений включают:
Ошибки атрибутов, например:
из импорта коллекций namedtoplo
модуль "коллекции" не имеет атрибута "namedtoplo". Возможно, вы имели в виду namedtuple?
Сообщения NameError изменены, чтобы выглядеть так:
new_var = 5
печать (новый_vr)>
NameError: имя new_vr не определено. Возможно, вы имели в виду: new_var?
3. Заключенные в скобки менеджеры контекста
Новые менеджеры контекста в скобках могут сделать ваш код более элегантным. Несмотря на то, что это не основная функция, она может легко сделать ваш код менее громоздким. Эта функция полезна, если вы работаете в команде и ваш код должен быть структурирован.
Представьте, что вы пишете такое утверждение:
с open ('file1.txt', 'r') как fin, open ('file2.txt', 'w') как fout:
fout.write (fin.read ())
Приведенный выше код работает, но первая строка слишком длинная и выглядит неуклюже. Вы можете разорвать строку, используя обратную косую черту (\) и сделайте код структурированным:
с open ('file1.txt', 'r') как fin, \ open ('file2.txt', 'w') как fout: fout.write (fin.read ())
С появлением нового диспетчера контекста в скобках вы также можете разорвать строку, используя круглые скобки:
с (open ('file1.txt', 'r') как fin,
open ('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') # линтер покажет ошибку аннотации
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.
Структурное отображение паттернов - это изюминка этого нового обновления, которое упрощает написание кодов для похожих объектов. Другие функции, такие как менеджеры контекста в скобках и операторы объединения нового типа, призваны сделать код более простым и эффективным.
Тем не менее, в существующих версиях Python есть несколько отличных методов обработки исключений. Вы можете эффективно использовать функциональные возможности Python.
Покройте свои основы кодирования исключениями Python.
Читать далее
- Программирование
- Программирование
- Python
- Советы по кодированию
Вини - писатель из Дели, у нее 2-летний писательский опыт. Во время писательской работы она была связана с агентствами цифрового маркетинга и техническими фирмами. Она написала контент, связанный с языками программирования, облачными технологиями, AWS, машинным обучением и многим другим. В свободное время она любит рисовать, проводить время с семьей и путешествовать в горы, когда это возможно.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Нажмите здесь, чтобы подписаться