Рубрики
Без рубрики

Что нового в Python 3.9 alpha2?

Версия 3.9 alpha2 представила несколько хороших обновлений, достаточно приятных, чтобы написать об этом. Теги с CPYthon, Python, выпуск.

Python установлен для освобождения новой версии в следующем году, блестящий 3.9. Этот пропущенный SYS.ARGV изменится обратно в альфа2 Вот наш взять самые заметные изменения:

Аргументы ключевых слов получают немного повышения

улучшен

sebastian@seberg-x1 ~/python-dev/bin
 % ./python3 -m timeit -s 'i = 4' 'i.to_bytes(length=5, byteorder="big", signed=True)'
1000000 loops, best of 5: 205 nsec per loop
sebastian@seberg-x1 ~/python-dev/bin
 % ./python3 -m timeit -s 'i = 4' 'i.to_bytes(length=5, byteorder="big", signed=True)'
1000000 loops, best of 5: 207 nsec per loop

оригинал

sebastian@seberg-x1 ~/python-dev/bin
 % ./python3 -m timeit -s 'i = 4' 'i.to_bytes(length=5, byteorder="big", signed=True)'
1000000 loops, best of 5: 221 nsec per loop
sebastian@seberg-x1 ~/python-dev/bin
 % ./python3 -m timeit -s 'i = 4' 'i.to_bytes(length=5, byteorder="big", signed=True)'
1000000 loops, best of 5: 218 nsec per loop

Аудиторские крючки, добавленные для Sys.excePTeook () и Sys.unraisableHook ()

Аудиторские крючки были добавлены в PEP 578. Он в основном позволяет мониторировать детали низкого уровня. Цель состоит в том, чтобы контролировать поведение сценариев Python более точно. Пример использования в формулировке PEP:

Обойти аудита может возникнуть, когда типичный системный инструмент, используемый для действия, обычно сообщат его использование, но доступ к API через Python не вызывает этого. Например, взыскание «Curl» для создания HTTP-запросов может быть специально отслеживается в аудированной системе, но функция «URLRETROVE» Python не является.

Вызов заменить на объект кода теперь поднимает код. Новый Событие аудита. Объект кода возвращается при использовании функции встроенного Compile () на некоторых кодах. Соответствующий C-код:

   if (PySys_Audit("code.__new__", "OOOiiiiii",
                    co_code, co_filename, co_name, co_argcount,
                    co_posonlyargcount, co_kwonlyargcount, co_nlocals,
                    co_stacksize, co_flags) < 0) {
        return NULL;
    }

Размер стека резьбы установлен на 8 МБ для отладки сборки на Android

Инициированный скрипт вылетает на Android API 24, но только в режиме отладки. Максимальный предел рекурсии был уменьшен от 1000 до 100.

В Python вы не можете вернуть больше, чем некоторые ограничения.

>>> import sys
>>> sys.getrecursionlimit()
1000

Вышеуказанный патч был реализован путем определения Thread_stack_size до 8 МБ

define THREAD_STACK_SIZE    0x800000

Добавлен метод __floor__ и __ceil__ для объекта float

Не был ранее реализован. Также добавлены тесты.

Использование Python -M Pip вместо PIP для обновления зависимостей в Вене

В Cpython/lib/venv/ init .py Наоболь некоторые другие изменения, наборы обновления ниже Python -M PIP Установить По умолчанию для обновления зависимостей

        if sys.platform == 'win32':
            python_exe = os.path.join(context.bin_path, 'python.exe')
        else:
            python_exe = os.path.join(context.bin_path, 'python')
        cmd = [python_exe, '-m', 'pip', 'install', '--upgrade']
        cmd.extend(CORE_VENV_DEPS)
        subprocess.check_call(cmd)

Клавиша Escape также закрывает Windows Windows

Многие ключи используются в автоматическом завершении. Ключ Escape был только добавлен

KEYPRESS_SEQUENCES = ("", "", "", "",
                      "", "", "", "",
                      "", "", "")

Это был мой Funnified Personal Pick!

Оригинал Pythonmembersclub. паб.

Оригинал: “https://dev.to/abdurrahmaanj/what-s-new-in-python-3-9-alpha2-2492”