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() ตอนนี้พร้อมใช้งานเสมอ | |
หมายเหตุ