Python 3.7

Fitur Baru:

Fitur

Status

PEP 538

Memaksa locale C lama ke locale berbasis UTF-8

PEP 539

C-API Baru untuk Thread-Local Storage di CPython

PEP 540

Mode UTF-8

PEP 552

pyc deterministik

PEP 553

breakpoint() built-in

PEP 557

Kelas Data

PEP 560

Dukungan inti untuk modul typing dan tipe generik

PEP 562

__getattr__ dan __dir__ modul

Sebagian

PEP 563

Evaluasi Anotasi yang Ditunda

PEP 564

Fungsi waktu dengan resolusi nanodetik

Sebagian [1]

PEP 565

Tampilkan DeprecationWarning di __main__

PEP 567

Variabel Konteks

Perubahan Bahasa Lainnya:

async dan await kini merupakan kata kunci yang dicadangkan

Selesai

Objek dict harus mempertahankan urutan penyisipan

Lebih dari 255 argumen kini dapat diteruskan ke fungsi; suatu fungsi kini dapat memiliki lebih dari 255 parameter

bytes.fromhex() dan bytearray.fromhex() kini mengabaikan semua spasi putih ASCII, bukan hanya spasi

str, bytes, dan bytearray mendapatkan dukungan untuk metode isascii() baru, yang dapat digunakan untuk menguji apakah string atau bytes hanya berisi karakter ASCII

ImportError kini menampilkan nama modul dan path __file__ modul ketika from ... import ... gagal

Import sirkular yang melibatkan import absolut dengan mengikat submodul ke nama kini didukung

object.__format__(x, '') kini setara dengan str(x) daripada format(str(self), '')

Untuk mendukung pembuatan stack trace secara dinamis dengan lebih baik, types.TracebackType kini dapat diinstansiasi dari kode Python, dan atribut tb_next pada traceback kini dapat ditulis

Saat menggunakan switch -m, sys.path[0] kini dengan cepat diperluas ke path direktori awal penuh, daripada dibiarkan sebagai direktori kosong (yang memungkinkan import dari direktori kerja saat ini pada saat import terjadi)

Opsi baru -X importtime atau variabel lingkungan PYTHONPROFILEIMPORTTIME dapat digunakan untuk menampilkan waktu setiap import modul

Perubahan pada modul built-in:

asyncio

Terlalu banyak untuk dicantumkan

gc

Fitur baru termasuk gc.freeze(), gc.unfreeze(), gc-get_freeze_count

math

math.remainder() ditambahkan untuk mengimplementasikan sisa bergaya IEEE 754

re

Sejumlah fitur pembersihan termasuk dukungan lebih baik untuk pemisahan pada string kosong dan dukungan salin untuk ekspresi terkompilasi dan objek match

sys

sys.breakpointhook() ditambahkan. sys.get(/set)_coroutine_origin_tracking_depth() ditambahkan

time

Sebagian besar pembaruan untuk mendukung resolusi nanodetik di PEP564, lihat di atas

Catatan