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”