Python 3.5¶
ด้านล่างนี้คือรายการ PEP ที่ได้รับการยืนยัน/อนุมัติแล้วสำหรับ Python 3.5 จัดกลุ่มตามผลกระทบต่อ MicroPython
ส่วนขยายไวยากรณ์ |
สถานะ |
|
การทำให้การ unpack แบบทั่วไปมีความยืดหยุ่นมากขึ้น |
บางส่วน |
|
ตัวดำเนินการคูณเมทริกซ์ใหม่ |
สมบูรณ์ |
|
Coroutine ด้วยไวยากรณ์ |
สมบูรณ์ |
|
ส่วนขยายและการเปลี่ยนแปลงในรันไทม์ |
||
การจัดรูปแบบ % สำหรับ binary string |
สมบูรณ์ |
|
การลองใหม่สำหรับการเรียก system call ที่ล้มเหลวด้วย |
สมบูรณ์ |
|
เปลี่ยนการจัดการ |
สมบูรณ์ |
|
การเปลี่ยนแปลงในไลบรารีมาตรฐาน |
||
|
||
|
สมบูรณ์ |
|
การเปลี่ยนแปลงเบ็ดเตล็ด |
||
การปรับปรุงการรองรับแอปพลิเคชัน Python zip |
||
ทำให้ Python Launcher รับรู้สภาพแวดล้อมเสมือน |
ไม่เกี่ยวข้อง |
|
คำแนะนำชนิดข้อมูล (เฉพาะคำแนะนำ) |
สมบูรณ์ [1] |
|
การกำจัดไฟล์ PYO |
ไม่เกี่ยวข้อง |
|
การออกแบบการโหลดโมดูลส่วนขยายใหม่ |
||
การเปลี่ยนแปลงภาษาอื่น ๆ:
เพิ่มตัวจัดการข้อผิดพลาด namereplace ตัวจัดการข้อผิดพลาด backslashreplace ตอนนี้ทำงานกับการถอดรหัสและการแปลด้วย |
|
Property docstring สามารถเขียนทับได้แล้ว ซึ่งมีประโยชน์อย่างยิ่งสำหรับ collections.namedtuple() docstring |
|
การนำเข้าแบบวงกลมที่เกี่ยวข้องกับการนำเข้าแบบสัมพัทธ์ได้รับการรองรับแล้ว |
โมดูลใหม่:
การเปลี่ยนแปลงในโมดูล built-in:
คลาส OrderedDict ตอนนี้ถูกพัฒนาด้วย C ซึ่งทำให้เร็วขึ้น 4 ถึง 100 เท่า |
|
วิว OrderedDict.items(), OrderedDict.keys(), OrderedDict.values() ตอนนี้รองรับการวนซ้ำแบบกลับทิศด้วย reversed() |
|
The deque class now defines index(), insert(), and copy(), and supports the + and * operators. |
|
Docstring ที่สร้างโดย namedtuple() ตอนนี้สามารถอัปเดตได้แล้ว |
|
คลาส UserString ตอนนี้พัฒนาเมธอด __getnewargs__(), __rmod__(), casefold(), format_map(), isprintable() และ maketrans() เพื่อให้ตรงกับเมธอดที่สอดคล้องกันของ str |
|
การเปรียบเทียบองค์ประกอบใน merge() ตอนนี้สามารถกำหนดเองได้โดยส่งฟังก์ชัน key ในอาร์กิวเมนต์คีย์เวิร์ด key แบบเลือกใช้ใหม่ และอาร์กิวเมนต์คีย์เวิร์ด reverse แบบเลือกใช้ใหม่สามารถใช้เพื่อกลับทิศการเปรียบเทียบองค์ประกอบ |
|
เมธอด BufferedIOBase.readinto1() ใหม่ ที่ใช้การเรียกเมธอด RawIOBase.read() หรือ RawIOBase.readinto() ของ raw stream ที่อยู่ด้านล่างอย่างมากที่สุดหนึ่งครั้ง |
|
ตัวถอดรหัส JSON ตอนนี้เกิด JSONDecodeError แทน ValueError เพื่อให้ข้อมูลบริบทเพิ่มเติมเกี่ยวกับข้อผิดพลาด |
|
ค่าคงที่สองตัวใหม่ถูกเพิ่มในโมดูล math: inf และ nan |
สมบูรณ์ |
ฟังก์ชันใหม่ isclose() ให้วิธีทดสอบความเท่ากันโดยประมาณ |
|
ฟังก์ชัน gcd() ใหม่ถูกเพิ่มเข้ามา ฟังก์ชัน fractions.gcd() ถูกเลิกใช้งานแล้ว |
|
ฟังก์ชัน scandir() ใหม่ที่คืนค่า iterator ของอ็อบเจกต์ DirEntry ถูกเพิ่มเข้ามา |
|
ฟังก์ชัน urandom() ตอนนี้ใช้ syscall getrandom() บน Linux 3.17 หรือใหม่กว่า และ getentropy() บน OpenBSD 5.6 และใหม่กว่า ซึ่งช่วยลดความจำเป็นในการใช้ /dev/urandom และหลีกเลี่ยงความล้มเหลวที่เกิดจากการหมด file descriptor |
|
ฟังก์ชัน get_blocking() และ set_blocking() ใหม่อนุญาตให้รับและตั้งค่าโหมดบล็อกของ file descriptor (O_NONBLOCK.) |
|
มีฟังก์ชัน os.path.commonpath() ใหม่ที่คืนค่า sub-path ร่วมที่ยาวที่สุดของแต่ละชื่อพาธที่ส่งเข้ามา |
|
การอ้างอิงและการอ้างอิงแบบมีเงื่อนไขไปยังกลุ่มที่มีความยาวคงที่ตอนนี้ได้รับอนุญาตใน lookbehind assertion |
|
จำนวนกลุ่มจับภาพในนิพจน์ทั่วไปไม่ถูกจำกัดที่ 100 อีกต่อไป |
|
ฟังก์ชัน sub() และ subn() ตอนนี้แทนที่กลุ่มที่ไม่ตรงกันด้วยสตริงว่างแทนการเกิดข้อยกเว้น |
|
ข้อยกเว้น re.error มีแอตทริบิวต์ใหม่ ได้แก่ msg, pattern, pos, lineno และ colno ที่ให้ข้อมูลบริบทเพิ่มเติมเกี่ยวกับข้อผิดพลาด |
|
ฟังก์ชันที่มี timeout ตอนนี้ใช้ monotonic clock แทน system clock |
|
เมธอด socket.sendfile() ใหม่อนุญาตให้ส่งไฟล์ผ่าน socket โดยใช้ฟังก์ชัน os.sendfile() ที่มีประสิทธิภาพสูงบน UNIX ส่งผลให้การอัปโหลดเร็วขึ้น 2 ถึง 3 เท่าเมื่อเทียบกับการใช้ socket.send() แบบธรรมดา |
|
เมธอด socket.sendall() ไม่รีเซ็ต socket timeout ทุกครั้งที่ bytes ถูกรับหรือส่งอีกต่อไป ตอนนี้ socket timeout คือระยะเวลารวมสูงสุดในการส่งข้อมูลทั้งหมด |
|
อาร์กิวเมนต์ backlog ของเมธอด socket.listen() ตอนนี้เป็นแบบเลือกใช้ โดยค่าเริ่มต้นจะถูกตั้งค่าเป็น SOMAXCONN หรือ 128 แล้วแต่ค่าใดจะน้อยกว่า |
สมบูรณ์ |
การรองรับ Memory BIO |
|
การรองรับ Application-Layer Protocol Negotiation |
|
มีเมธอด SSLSocket.version() ใหม่เพื่อสอบถามเวอร์ชันโปรโตคอลจริงที่กำลังใช้งาน |
|
คลาส SSLSocket ตอนนี้พัฒนาเมธอด SSLSocket.sendfile() |
|
เมธอด SSLSocket.send() ตอนนี้เกิดข้อยกเว้น ssl.SSLWantReadError หรือ ssl.SSLWantWriteError บน socket แบบ non-blocking หากการดำเนินการจะบล็อก ก่อนหน้านี้จะคืนค่า 0 |
|
ฟังก์ชัน cert_time_to_seconds() ตอนนี้แปลเวลาอินพุตเป็น UTC ไม่ใช่เวลาท้องถิ่น ตาม RFC 5280 นอกจากนี้ ค่าที่คืนกลับจะเป็น int เสมอ |
|
เมธอด SSLObject.shared_ciphers() และ SSLSocket.shared_ciphers() ใหม่คืนรายการ cipher ที่ client ส่งมาระหว่าง handshake |
|
เมธอด SSLSocket.do_handshake(), SSLSocket.read(), SSLSocket.shutdown() และ SSLSocket.write() ของคลาส SSLSocket ไม่รีเซ็ต socket timeout ทุกครั้งที่ bytes ถูกรับหรือส่งอีกต่อไป |
|
ฟังก์ชัน match_hostname() ตอนนี้รองรับการจับคู่ที่อยู่ IP |
|
ฟังก์ชัน set_coroutine_wrapper() ใหม่อนุญาตให้ตั้งค่า global hook ที่จะถูกเรียกเมื่อใดก็ตามที่อ็อบเจกต์ coroutine ถูกสร้างโดยฟังก์ชัน async def ฟังก์ชัน get_coroutine_wrapper() ที่สอดคล้องกันสามารถใช้เพื่อรับ wrapper ที่ตั้งค่าอยู่ในปัจจุบัน |
|
ฟังก์ชัน is_finalizing() ใหม่สามารถใช้ตรวจสอบว่า Python interpreter กำลังปิดตัวลงหรือไม่ |
|
ฟังก์ชัน monotonic() ตอนนี้พร้อมใช้งานเสมอ |
|
หมายเหตุ