Python 3.7

Nové funkce:

Funkce

Stav

PEP 538

Vynucení převodu staršího C locale na locale založené na UTF-8

PEP 539

Nové C-API pro úložiště lokální pro vlákna v CPythonu

PEP 540

Režim UTF-8

PEP 552

Deterministické pyc

PEP 553

Vestavěné breakpoint()

PEP 557

Datové třídy

PEP 560

Základní podpora pro modul typing a generické typy

PEP 562

Modulové __getattr__ a __dir__

Částečně

PEP 563

Odložené vyhodnocování anotací

PEP 564

Funkce práce s časem s rozlišením na nanosekundy

Částečně [1]

PEP 565

Zobrazení DeprecationWarning v __main__

PEP 567

Kontextové proměnné

Další změny v jazyce:

async a await jsou nyní vyhrazená klíčová slova

Hotovo

Objekty dict musí zachovávat pořadí vkládání

Funkci lze nyní předat více než 255 argumentů; funkce může nyní mít více než 255 parametrů

bytes.fromhex() a bytearray.fromhex() nyní ignorují všechny ASCII bílé znaky, nikoli pouze mezery

str, bytes a bytearray získaly podporu nové metody isascii(), kterou lze použít k otestování, zda řetězec nebo bajty obsahují pouze znaky ASCII

ImportError nyní zobrazuje název modulu a cestu __file__ modulu, když from ... import ... selže

Nyní jsou podporovány cyklické importy zahrnující absolutní importy s navázáním podmodulu na jméno

object.__format__(x, '') je nyní ekvivalentní str(x) namísto format(str(self), '')

Aby byla lépe podporována dynamická tvorba zásobníkových výpisů, lze nyní types.TracebackType instanciovat z Python kódu a atribut tb_next na tracebacích je nyní zapisovatelný

Při použití přepínače -m je nyní sys.path[0] aktivně rozšířen na úplnou cestu počátečního adresáře, místo aby zůstal jako prázdný adresář (což umožňuje importy z aktuálního pracovního adresáře v okamžiku, kdy k importu dojde)

Novou volbu -X importtime nebo proměnnou prostředí PYTHONPROFILEIMPORTTIME lze použít k zobrazení časování importu každého modulu

Změny ve vestavěných modulech:

asyncio

Příliš mnoho na vyjmenování

gc

Nové funkce zahrnují gc.freeze(), gc.unfreeze(), gc-get_freeze_count

math

byla přidána math.remainder() pro implementaci zbytku ve stylu IEEE 754

re

Řada vylepšení včetně lepší podpory rozdělování podle prázdných řetězců a podpory kopírování pro zkompilované výrazy a objekty match

sys

byla přidána sys.breakpointhook(). Byly přidány sys.get(/set)_coroutine_origin_tracking_depth()

time

Převážně aktualizace pro podporu rozlišení na nanosekundy v PEP564, viz výše

Poznámky