- การแยกวิเคราะห์
f-string ที่ยืดหยุ่นมากขึ้น (PEP 701)
- รองรับ buffer protocol ในโค้ด Python (PEP 688)
- API ใหม่สำหรับการดีบัก/การทำโปรไฟล์ (PEP 669)
- รองรับ GIL แบบต่ออินเทอร์พรีเตอร์ ทำให้แต่ละ sub-interpreter มี GIL แยกของตัวเอง (PEP 684)
- ปรับปรุงข้อความแสดงข้อผิดพลาด และมีการแนะนำ exception เพิ่มเติมให้ผู้ใช้ในกรณีที่อาจเกิดจากการพิมพ์ผิด
- รองรับโปรไฟเลอร์
perf บน Linux ทำให้ใน trace มีชื่อฟังก์ชันของ Python รวมอยู่ด้วย
- มีการปรับปรุงประสิทธิภาพทั้งเล็กและใหญ่ ส่งผลให้ประสิทธิภาพโดยรวมดีขึ้น 5%
- เพิ่มไวยากรณ์ใหม่สำหรับ type annotation ของคลาสทั่วไป (PEP 695) และตัวตกแต่ง
override แบบใหม่สำหรับเมธอด (PEP 698)
- ลบฟีเจอร์ที่เลิกใช้งานแล้ว เช่น สมาชิก
wstr และ wstr_length ใน C implementation ของอ็อบเจ็กต์ Unicode, เมธอดและคลาสบางส่วนในโมดูล unittest, รวมถึงโมดูล smtpd และ distutils
- ลำดับ escape ของ backslash ที่ไม่ถูกต้องในสตริง จะเตือนเป็น
SyntaxWarning แทน DeprecationWarning แล้ว
- มีการเปลี่ยนแปลงรูปแบบภายในของจำนวนเต็มเพื่อเตรียมพร้อมสำหรับการเพิ่มประสิทธิภาพ
3 ความคิดเห็น
Per-Interpreter GIL น่าสนใจดีนะ
มีอะไรใหม่ใน Python 3.12
ความคิดเห็นบน Hacker News
itertools.batchedสำหรับแบ่ง iterable ออกเป็นชังก์ ซึ่งเป็นฟีเจอร์ที่ได้รับการต้อนรับsmtpdและdistutilsและมีการเปลี่ยนแปลงรูปแบบการแทนค่าภายในของจำนวนเต็มเพื่อเตรียมพร้อมสำหรับการเพิ่มประสิทธิภาพ