Python 3.10 будет здесь в конце этого года, и я хотел рассказать о некоторых новых функциях, которые облегчат нашу жизнь.
Multi Line Context Managers.
Это позволяет вам иметь несколько менеджеров по контексту в одном с
утверждение. Вместо того, чтобы гнездовать контекстные менеджеры и связанную с этим сложность, вы можете открыть все сразу в одном выражении. Одним из вариантов использования будет открыт несколько файлов. Теперь все необходимые файлы могут быть открыты и закрыты в одном контексте без гнездования.
with (open('source_a.txt') as source_a, open('source_b.txt') as source_b, open('out.txt', 'w') as out):
Сообщения об ошибках указывают на ошибку, а не на место, где переводчик потерпел неудачу
Сообщения об ошибках были улучшены, так что, если вам не хватает кронштейна, обработчик ошибок выделил часть кода, который, по его мнению, отсутствует в кронштейне вместо первого назначения, которое не удалось из -за недостающего кронштейна.
Предыдущие реализации сообщают, куда интерпретатор бросил работу, что было после части кода, в котором отсутствовал кронштейн. Это должно значительно упростить код устранения неполадок.
Сопоставление структурных схем, a.k.a. операторы переключения
Python получает функцию, которая выглядит как оператор Switch и может использоваться таким образом, но на самом деле более гибкий, что простые проверки равенства.
От Python Docs «Паттерны состоят из последовательностей, отображений, примитивных типов данных, а также экземпляров класса. “ Это означает, что вы можете соответствовать широкому спектру критериев и можете сравнивать экземпляры класса с друг с другом, основываясь на том, как были созданы экземпляры. Вы также можете использовать методы массива, такие как карта
и совпадать с выводом с этого.
Это будет огромное улучшение по сравнению с использованием императива Если
положения. Этот более декларативный подход легче читать и может быть проще реализован в сложных случаях.
множество
index ()
Метод застроенного массива – это получение параметров запуска и остановки. Это заставит его работать больше как JavaScript.
Оригинал: “https://dev.to/technicholy/what-s-new-in-python-3-10-7n5”