Python เป็นภาษาโปรแกรมระดับสูง
หลังจากหนึ่งปีของการพัฒนา มีการประกาศเปิดตัวเวอร์ชันเสถียรแล้ว และยังเป็นจุดเริ่มต้นของขั้นตอนการทดสอบอัลฟ่าของภาษาการเขียนโปรแกรมอีกด้วย งูหลาม 3.12 และ Python 3.13 (ตามลำดับ) มีการกล่าวถึงว่า Python 3.12 สาขาใหม่นี้จะได้รับการสนับสนุนเป็นเวลาหนึ่งปีครึ่ง หลังจากนั้นอีกสามปีครึ่งจะมีการสร้างการแก้ไขเพื่อกำจัดช่องโหว่
Python 3.12 เวอร์ชันใหม่ที่นำเสนอมาพร้อมกับการปรับปรุงใน ความยืดหยุ่นของการวิเคราะห์ f-string ด้วยการปรับปรุงในตอนนี้ ข้อจำกัดหลายประการสามารถละทิ้งได้เนื่องจากตัวอย่างเช่น ตอนนี้คุณสามารถมีนิพจน์ที่ถูกต้องใน Python ได้ รวมถึงนิพจน์หลายบรรทัด ความคิดเห็น แบ็กสแลช และลำดับหลีก Unicode นอกจากนี้ สตริงภายในยังอนุญาตให้นำเครื่องหมายคำพูดเดียวกันกลับมาใช้ใหม่ได้ เช่น เครื่องหมายคำพูดคู่สามารถนำกลับมาใช้ใหม่ภายในได้ โดยไม่ต้องเปลี่ยนเป็นเครื่องหมายคำพูดเดี่ยว
ตัวอย่างเช่น
ฉ"""{f''{f'{f"{1+1}"}'}'''}"""
ตอนนี้คุณสามารถทำรังโดยพลการได้:
ฉ"{f"{f"{f"{f"{f"{1+1}"}"}"}"}"}"
การเปลี่ยนแปลงที่โดดเด่นอีกประการหนึ่งคือ การสนับสนุนล่ามย่อยแบบแยกและการล็อคส่วนกลางที่แยกจากกันซึ่งมีจุดมุ่งหมายเพื่อเพิ่มประสิทธิภาพของการใช้ทรัพยากรในระบบมัลติคอร์ เนื่องจากสำหรับล่ามที่แตกต่างกันภายในกระบวนการ CPython อนุญาตให้ล่ามหลายคนทำงานในเวลาเดียวกันในกระบวนการ ขณะนี้ฟีเจอร์นี้มีให้บริการผ่าน C-API เท่านั้น (การรองรับ Python API จะปรากฏในสาขาหลักถัดไป)
นอกจากนี้ก็ยังมีไฮไลท์อีกว่าเนื้อหาข้อมูลของข้อความแสดงข้อผิดพลาดเพิ่มขึ้น และมีการขยายขอบเขตของข้อยกเว้น โดยเสนอคำแนะนำเพื่อกำจัดข้อผิดพลาดในการพิมพ์ ตัวอย่างเช่น คำแนะนำสำหรับการนำเข้าโมดูลไลบรารีมาตรฐานที่ถูกลืม และคำแนะนำสำหรับคำนำหน้า "self" จะปรากฏขึ้น
เพิ่มความสามารถในการใช้โปรโตคอลบัฟเฟอร์ในโค้ด Python คลาสที่มีเมธอด "__buffer__()" สามารถใช้เป็นประเภทที่ทำงานโดยตรงกับข้อมูลไบนารี่ในหน่วยความจำได้แล้ว
โมดูล sys.monitoring ถูกเสนอสำหรับการดีบักและการทำโปรไฟล์ ช่วยให้คุณสามารถตรวจสอบเหตุการณ์ใน CPython เช่น การเรียกใช้ การส่งคืนฟังก์ชัน การดำเนินการบรรทัดโค้ดที่กำหนดเอง ข้อยกเว้นและการเปลี่ยนที่มีค่าใช้จ่ายน้อยที่สุด
ล่ามใช้การสนับสนุนสำหรับระบบย่อยประสิทธิภาพของเคอร์เนล Linuxซึ่งอนุญาตให้กำหนดชื่อฟังก์ชัน Python เมื่อทำโปรไฟล์โดยใช้ยูทิลิตี้ประสิทธิภาพ (ก่อนหน้านี้เฉพาะชื่อฟังก์ชัน C เท่านั้นที่ถูกกำหนดในการติดตาม)
ส่วนเรื่องการปรับปรุงประสิทธิภาพก็บอกไว้แล้วว่า การเพิ่มประสิทธิภาพยังคงดำเนินต่อไป ซึ่ง ได้รับประสิทธิภาพโดยรวมเพิ่มขึ้นประมาณ 5%มันถูกเพิ่มเข้ามาด้วย การสนับสนุนการทดลองสำหรับเครื่องมือเพิ่มประสิทธิภาพไบนารี BOLT สู่กระบวนการสร้างเพิ่มประสิทธิภาพ 1-5% ในขณะที่ประสิทธิภาพของแพ็คเกจ asyncio ได้รับการปรับปรุงอย่างมีนัยสำคัญ (การทดสอบบางอย่างแสดงการเร่งความเร็ว 75%)
การขยายความเข้าใจในรายการแบบอินไลน์ได้ถูกนำมาใช้ ซึ่งช่วยเพิ่มความเร็วในการทำงานกับความเข้าใจในรายการได้มากถึงสองเท่า (สำหรับโค้ดที่ใช้ความเข้าใจรายการอย่างแข็งขัน การทดสอบพบว่าประสิทธิภาพโดยรวมเพิ่มขึ้น 11%)
เพื่อปรับปรุงความปลอดภัย การใช้งานในตัวของ แทนที่อัลกอริธึม SHA1, SHA3, SHA2-384, SHA2-512 และ MD5 ใน hashlib แล้ว พร้อมตัวเลือกที่ได้รับการตรวจสอบอย่างเป็นทางการจากโครงการ HACL* (การใช้งานในตัวจะใช้เฉพาะในกรณีที่ไม่มี OpenSSL)
ของ การเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น:
- โมดูลได้ขยายการรองรับสำหรับ Windows
- Python ใช้การป้องกันสแต็กล้น
การสร้างคลาส asyncio.Task ได้รับการเร่งความเร็วแล้ว - ขนาดของวัตถุ Unicode ลดลง 8 ถึง 16 ไบต์
- การดำเนินการกับนิพจน์ทั่วไป re.sub(), re.subn() และ re.Pattern ได้รับการเร่งความเร็ว
- การเรียกใช้การตรวจสอบ isinstance() สำหรับโปรโตคอลบางตัวถูกเร่งความเร็วขึ้น 2 ถึง 20 เท่า
- อย่างมีนัยสำคัญ (ในการทดสอบบางอย่างมากถึง 64%) ฟังก์ชัน tokenize.tokenize() และ tokenize.generate_tokens() ได้รับการเร่งความเร็วอย่างมีนัยสำคัญ
- การโหลดแอตทริบิวต์และการเรียกใช้เมธอด super() ได้รับการเร่งความเร็วแล้ว
- มีการเสนอไวยากรณ์คำอธิบายประกอบชนิดใหม่ที่กะทัดรัดยิ่งขึ้นสำหรับคลาสและฟังก์ชันทั่วไป
- โมดูลเว็บเบราว์เซอร์ไม่รองรับเบราว์เซอร์รุ่นเก่าอีกต่อไป เช่น Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape, Firebird และ Firefox จนถึงเวอร์ชัน 36
- เพื่อเตรียมพร้อมสำหรับการปรับให้เหมาะสมในอนาคต การแสดงจำนวนเต็มภายในมีการเปลี่ยนแปลง
สุดท้ายแต่ไม่ท้ายสุด ดังที่ได้กล่าวไปแล้ว การทดสอบอัลฟ่าของ Python 3.13 ได้เริ่มต้นขึ้นแล้ว โดยมีโหมดการคอมไพล์ปรากฏขึ้น CPython ไม่มีการล็อคล่ามส่วนกลาง (GIL, ล็อคล่ามสากล)
สาขา Python 3.13 จะเป็นเวอร์ชันอัลฟ่าเป็นเวลาเจ็ดเดือน ในระหว่างนี้จะมีการเพิ่มคุณสมบัติใหม่และแก้ไขข้อบกพร่องตามกำหนดการพัฒนาใหม่ การทำงานในสาขาใหม่จะเริ่มต้นห้าเดือนก่อนการเปิดตัวสาขาก่อนหน้า และเมื่อถึงเวลาที่เวอร์ชันถัดไปถึงขั้นตอนการทดสอบอัลฟ่า
หลังจากนี้ เวอร์ชันเบต้าจะได้รับการทดสอบเป็นเวลาสามเดือน ในระหว่างนี้จะมีการห้ามการเพิ่มฟีเจอร์ใหม่ๆ และเราจะให้ความสนใจอย่างเต็มที่ในการแก้ไขข้อบกพร่อง ในช่วงสองเดือนที่ผ่านมาก่อนการเปิดตัว สาขาจะอยู่ในขั้นตอนการเปิดตัวซึ่งจะมีการรักษาเสถียรภาพขั้นสุดท้าย
สุดท้ายใช่ คุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้คุณสามารถตรวจสอบรายละเอียดได้ในไฟล์ ลิงค์ต่อไปนี้