Различия между Python 3.10 и Python 3.9, которые вам нужно знать

задняя часть Python
Различия между Python 3.10 и Python 3.9, которые вам нужно знать

Это 17-й день моего участия в августовском испытании обновлений. Узнайте подробности события:Испытание августовского обновления

вводить:

За последние несколько десятилетий Python сделал себе имя в области языков программирования или сценариев. Основной причиной высокой популярности Python является его чрезвычайное удобство для пользователя. Python также используется для решения сложных задач программирования или кодирования. Новые области, такие как машинное обучение (ML), искусственный интеллект (AI) и наука о данных, также удовлетворяют высокий спрос на изучение этого языка. По сравнению с традиционными языками, такими как Java, C# и другими, Python — это мощный язык программирования, который быстро стал фаворитом среди разработчиков, специалистов по данным и энтузиастов AI/ML.

Python как язык программирования имеет множество вариантов использования, которые привлекают учащихся и экспертов в ИТ-индустрии. На базовом уровне Python можно использовать в качестве языка программирования для отработки структур данных и алгоритмов или для разработки простых проектов или игр. Универсальность Python как языка позволяет пользователям легко расширять свои проекты и создавать веб-сайты, программное обеспечение или прогностические модели. Автоматизация захватывает большую часть ИТ-индустрии, и Python лидирует в качестве предпочтительного языка для автоматизации анализа данных или задач обработки данных. В дополнение к этому Python имеет большое количество библиотек и сильное сообщество программистов, которые продолжают повышать ценность Python как языка.

Узнайте о Python и его использовании:

Одной из многих причин, по которой новичков привлекает Python, является его удобство для пользователя. Python отказывается от пугающей точки с запятой и использует простые конструкции отступов для своего синтаксиса. Python также находит применение в качестве расширения для приложений, которым требуется программируемый интерфейс. Некоторые другие преимущества Python включают его самую желанную функцию, его библиотеки. Библиотеки Python — это огромный ресурс, и их можно использовать для многих важных кодов, таких как:

  • Код на основе регулярных выражений
  • Обработка строк
  • Интернет-протоколы, такие как HTTP, FTP, SMTP, XML-RPC, POP, IMAP
  • Юникод
  • Разница между файловой системой и вычисляемым файлом
  • CGI-программирование
  • Математическое моделирование
  • запрос к базе данных
  • анализ данных
  • визуализация данных
  • Код автоматизации

Все эти функции могут быть выполнены во многих системах Unix, Linux, MacOS и Windows.

Анализ отличий Python 3.9 V/s от Python 3.10

За прошедшие годы Python претерпел множество обновлений, и многие функции были добавлены в новые версии. Здесь давайте сосредоточимся на двух самых последних версиях Python. Изучение обновленных функций поможет вам без проблем использовать их и, конечно же, найти более разумные способы работы с обновленной библиотекой. Весь код, прикрепленный ниже, предназначен только для образовательных целей и был взят из исходной документации Python, выпущенной с более новыми версиями, такими как Python 3.9 и Python 3.10.

Питон 3.9:

База данных часовых поясов IANA

Новый модуль под названием zoneinfo был создан в Python 3.9. Этот модуль предоставляет вам доступ к базе данных часовых поясов IANA или Агентства по присвоению номеров в Интернете. По умолчанию этот модуль использует данные местного часового пояса системы.

код :

print(datetime(2021, 7, 2, 12, 0).astimezone())
print(datetime(2021, 7, 2, 12, 0).astimezone().strftime("%Y-%m-%d %H:%M:%S %Z"))
print(datetime(2021, 7, 2, 12, 0).astimezone(timezone.utc))

вывод :

2020-07-2 12:00:00-05:00
2020-07-2 12:00:00 EST
2020-07-2 17:00:00+00:00

Функции для объединения и обновления словарей

Python 3.9 добавил еще одну интересную функцию, которая привлекла много внимания. Python 3.9 теперь может объединять или обновлять словари с помощью операторов. Новые операторы, например ( | ) и ( |= ), были добавлены во встроенный класс dict Python 3.9. Вы можете получить доступ к этим операторам для объединения или обновления словарей, используя код, аналогичный указанному ниже.

код :

>>> a = {‘v’: 1, 'art’: 2, 'py’: 3}
>>> b = {’v’: 'd’, 'topic’: 'python3.9’}

Код слияния:

>>> a | b
{’art’: 2, 'py’: 3, ’v’:’d’,  'topic’: 'python3.9’}
>>> b | a
{’v’: 1,’art’: 2, 'py’: 3, 'topic’:’python3.9’ }

Код обновления:

>>> a |= b
>>> a
{'art': 2, 'py': 3,'v':'d'}

удалить префикс и суффикс

Проблемы с обработкой строк проще решить благодаря новым функциям, добавленным в Python 3.9. Код, отмеченный ниже, используется для удаления префикса и суффикса из строки примера. Новый метод, используемый в следующем примере кода:

  • removeprefix() — этот метод удачно назван в соответствии с его функцией, которая заключается в удалении префикса, присутствующего в заданной строке образца.
  • removesuffix() — этот метод удаляет существующий суффикс из переданной ему строки образца.

Эти новые методы были созданы для замены старого метода strip() из-за негативных отзывов программистов о его ошибочной природе. Ниже отмечен пример кода, который поможет вам понять реализацию этих двух новых методов.

код :

print("海拥在外面玩".removeprefix("海拥"))

вывод:

‘在外面玩’

Использование подсказок типа для встроенных универсальных типов в Python 3.9

Версия Python 3.9 включает поддержку общего синтаксиса для всех стандартных коллекций, которые в настоящее время доступны в модуле ввода. Универсальный тип обычно определяется как контейнер, например список. Это тип, который можно легко параметризовать. Как правило, универсальный тип имеет один или несколько типов параметров, а параметризованный универсальный тип — это конкретный экземпляр универсального типа данных с элементами контейнера, например встроенные типы коллекций списка или словаря — это различные поддерживаемые типы, а не специально поддерживаемые типы. используйте Typing.Dict или typing.List

код :

def print_value(input: str): # 指定传递的值将是字符串类型

Используя приведенный ниже способ, мы сможем определить, является ли следующий ввод строкой

Питон 3.10:

Сопоставьте, используя структурные шаблоны В новой версии Python 3.10 появилась новая функция, называемая сопоставлением структурных шаблонов. Этот процесс сопоставления работает с той же логикой случая совпадения, но также сравнивается с объектом сравнения, чтобы отслеживать заданный шаблон.

Код для Python 3.9:

http_code = "419"
if http_code == "200":
    print("OK")
elif http_code == "404":
    print("Not Found Here")
elif http_code == "419":
    print("Value Found")
else:
    print("Code not found")

Код Python 3.10:

http_code = "419"
match http_code:
    case "200":
        print("Hi")
    case "404":
        print("Not Found")
    case "419":
        print("You Found Me")
    case _:		#Default Case
        print("Code not found")

Улучшенные сообщения об ошибках синтаксиса

Большое количество программистов сталкиваются с трудностями, связанными с несоответствием или отладкой кода. В Python 3.10 добавлена ​​очень удобная функция, называемая предложениями ассоциаций, которые помечаются сообщениями об ошибках синтаксиса. Это помогает быстро находить в них исправления ошибок или глючного кода.

код :

named_car = 77
print(new_car)

вывод :

NameError: name 'new_car' is not defined. Did you mean: named_car?

лучшие подсказки типа

При обновлении с Python 3.9 мы можем назначать несколько входных типов аргументов без использования ключевого слова union и только с использованием нотации ИЛИ. Определение нескольких типов ввода для одной и той же переменной — более простой способ.

Код для Python 3.9:

def add(a: Union[int, float], b: Union[int, float]):

Код для Python 3.10:

def add(a: int | float, b: int | float):

Улучшенный контекстный менеджер Менеджеры контекста помогают с такими ресурсами, как файлы. Теперь вы можете использовать несколько контекстов в одном блоке. Это значительно улучшит ваш код, так как вам больше не нужно несколько блоков или инструкций.

Предыдущий синтаксис:

with open('output.log', 'rw') 作为 fout:
    fout.write('hello')

Последний синтаксис:

with (open('output.log', 'w') as fout, open('input.csv') as fin):
    fout.write(fin.read())

Это все для этой статьи

Мы обсудили большинство обновлений в Python 3.10, и вы будете использовать большинство из них. Вот краткое изложение всех моих оригинальных и исходных кодов работ:GitHubБыло бы еще лучше, если бы вы, ребята, добавили несколько звездочек в мой репозиторий на Github 😊.

Я давно веду блог о технологиях, и это одна из моих технических статей/руководств. Надеюсь, вам это понравится! Вот краткое изложение всех моих оригинальных и исходных кодов работ:Наггетс-Хайонг, и это блог, который я только что создал:haiyong.site, в ней не так много контента, есть какие-то HTML игры и гаджеты, можете попробовать, если интересно, исходники можете скопировать по F12 сами, или можете спросить у меня напрямую.

Если вы действительно узнали что-то новое из этой статьи, ставьте лайк, добавляйте в закладки и делитесь с друзьями. 🤗Наконец, не забудьте поставить ❤ или 📑 в поддержку.