
การเปิดตัว Python 3.15.0 alpha 1 บน GitHub ถือเป็นจุดเริ่มต้นของระยะแสดงตัวอย่างและทดสอบอย่างเป็นทางการสำหรับฟีเจอร์เวอร์ชันถัดไปของภาษา รุ่นอัลฟ่านี้เปิดโอกาสให้ได้เห็นการเปลี่ยนแปลงใหม่ๆ ซึ่งจะทำให้ภาษาเร็วขึ้นและทำงานได้ง่ายขึ้นมาก
หนึ่งในฟีเจอร์ใหม่ที่ใหญ่ที่สุดและน่าตื่นเต้นที่สุดใน Python 3.15 คือตัวสร้างโปรไฟล์การสุ่มตัวอย่างทางสถิติตัวใหม่ นี่เป็นการเปลี่ยนแปลงครั้งใหญ่ที่จะทำให้ชีวิตของนักพัฒนาจำนวนมากง่ายขึ้นมาก ต่างจากตัวกำหนดโปรไฟล์แบบกำหนดรุ่นเก่าๆ ซึ่งสามารถชะลอโค้ดของคุณโดยควบคุมทุกการเรียกใช้ฟังก์ชัน ซึ่งเสนอค่าใช้จ่ายที่แทบจะเป็นศูนย์ นี่คือตัวเปลี่ยนเกมสำหรับการดีบักปัญหาด้านประสิทธิภาพ โดยเฉพาะอย่างยิ่งในสภาพแวดล้อมการใช้งานจริง
สิ่งที่ทำให้ตัวสร้างโปรไฟล์นี้ยอดเยี่ยมมากก็คือ มันจับสแต็กเทรซจากการรันกระบวนการ Python เป็นระยะๆ แทนที่จะควบคุมทุกการเรียกใช้ฟังก์ชัน คุณสามารถแนบมันเข้ากับกระบวนการ Python ที่กำลังรันอยู่ได้ ดังนั้นคุณไม่จำเป็นต้องแก้ไขโค้ดหรือรีสตาร์ทกระบวนการเพื่อดูว่าเกิดอะไรขึ้น สิ่งนี้รวดเร็วมาก โดยได้รับอัตราการสุ่มตัวอย่างสูงถึง 1,000,000 Hz ซึ่งทำให้เป็นผู้สร้างโปรไฟล์การสุ่มตัวอย่างที่เร็วที่สุดสำหรับ Python
เครื่องมือสร้างโปรไฟล์สร้างการประมาณการทางสถิติของเวลาที่ใช้ โดยให้สถิติการสุ่มตัวอย่างแบบเรียลไทม์ และมีความยืดหยุ่นเพียงพอที่จะส่งออกทั้งสถิติโดยละเอียดและข้อมูลกราฟฟลากราฟ มันยังจัดการโปรไฟล์ thread-aware ได้ด้วย ทำให้คุณสามารถโปรไฟล์เธรดทั้งหมดหรือเฉพาะเธรดหลักได้
การเปลี่ยนแปลงภาษาที่สำคัญอีกประการหนึ่งและเกินกำหนดชำระโดยสุจริตคือตอนนี้ Python ใช้ UTF-8 เป็นการเข้ารหัสเริ่มต้น การเปลี่ยนแปลงนี้ไม่ขึ้นอยู่กับสภาพแวดล้อมของระบบของคุณ ซึ่งเป็นประโยชน์อย่างมากสำหรับความเข้ากันได้ สำหรับพวกเราที่ต้องรับมือกับข้อผิดพลาดในการเข้ารหัสที่ยุ่งเหยิงในช่วงหลายปีที่ผ่านมา นั่นหมายความว่าการดำเนินการ I/O ส่วนใหญ่ที่ไม่มีการเข้ารหัสที่ชัดเจนจะใช้ UTF-8 โดยอัตโนมัติ เนื่องจากโดยพื้นฐานแล้ว UTF-8 ได้กลายเป็นมาตรฐานโดยพฤตินัยในการแสดงข้อความบนเว็บ ในรูปแบบไฟล์ และในภาษาการเขียนโปรแกรม การเคลื่อนไหวนี้จึงสมเหตุสมผลมาก
โปรดจำไว้ว่าหากคุณต้องการความเข้ากันได้ดีที่สุดระหว่างเวอร์ชัน Python ต่างๆ คุณก็ควรระบุอาร์กิวเมนต์การเข้ารหัสอย่างชัดเจน อย่างไรก็ตาม หากคุณต้องการยึดถือพฤติกรรมก่อนหน้านี้ คุณสามารถปิดการใช้งานโหมด UTF-8 ของ Python ได้โดยใช้ตัวแปรสภาพแวดล้อมหรือตัวเลือกบรรทัดคำสั่ง
Python 3.15 ยังมาพร้อมกับการปรับปรุงข้อความแสดงข้อผิดพลาดอันชาญฉลาดอีกด้วย ล่ามเริ่มฉลาดขึ้นมาก โดยเฉพาะอย่างยิ่งเมื่อพูดถึงข้อยกเว้น AttributeError หากคุณพยายามเข้าถึงแอตทริบิวต์ที่ไม่มีอยู่ แต่มีคุณลักษณะที่คล้ายกันพร้อมใช้งานผ่านสมาชิกของออบเจ็กต์นั้น ข้อความแสดงข้อผิดพลาดจะให้คำแนะนำที่เป็นประโยชน์แก่คุณ ตัวอย่างเช่น หากคุณมีออบเจ็กต์คอนเทนเนอร์ที่มีออบเจ็กต์ภายในซึ่งมีคุณสมบัติพื้นที่ และคุณเรียกคอนเทนเนอร์.พื้นที่โดยไม่ตั้งใจ ข้อผิดพลาดจะแนะนำว่า: “คุณหมายถึง: ‘inner.area’ หรือไม่”
นอกจากนั้น โมดูลมาตรฐานบางโมดูลยังได้รับการปรับปรุงโฉมใหม่อีกด้วย ตัวอย่างเช่น หน้าปฏิทินที่สร้างโดยปฏิทิน HTMLCalendar จะรองรับโหมดมืดและใช้มาตรฐาน HTML5 เพื่อการเข้าถึงที่ดีขึ้น ในทำนองเดียวกัน ขณะนี้ difflib.unified_diff() มีพารามิเตอร์สีที่เป็นตัวเลือกเพื่อให้ได้เอาต์พุตสีที่ดูคล้ายกับที่คุณเห็นใน git diff
อัลฟ่าตัวแรกนี้พร้อมใช้งานแล้วบน Github และเป็นก้าวแรกในเส้นทางอันยาวไกลของการเผยแพร่ล่วงหน้าซึ่งนำไปสู่เวอร์ชันเสถียรขั้นสุดท้าย โปรดทราบว่าวันที่วางจำหน่ายครั้งสุดท้ายที่คาดการณ์ไว้ยังอีกยาวไกล นั่นคือวันที่ 1 ตุลาคม 2026
ที่มา: เอกสาร Python
*️⃣ ลิงค์ที่มา: