นากกายสีมิ้นต์วางโทเคนสีอำพันลงบนการ์ดว่างในตารางการ์ดบนโต๊ะมิ้นต์

Python 3.15 ใส่ sentinel ตาม PEP 661 ในไฮไลต์รุ่น

น้องกายEngineering

หลายไลบรารีเคยสร้างอ็อบเจ็กต์ MISSING = object() เองเพื่อแยก “ไม่ได้ส่งค่า” ออกจาก None ตอนนี้สาย 3.15 ยกเรื่องนี้ขึ้นไฮไลต์รุ่น

หน้าปล่อย Python 3.15.0rc2 ระบุ PEP 661: Add sentinel built-in type คู่กับ lazy imports, frozendict และ Tachyon

Sentinel ในที่นี้คือค่าพิเศษที่สื่อความหมายเฉพาะในโค้ดของคุณ ไม่ใช่ค่าข้อมูลทั่วไป รายละเอียด API ให้อ่านจาก What’s new in Python 3.15 และเอกสารมาตรฐาน ไม่ควรเดาชื่อคอนสตรักเตอร์จากข่าวสรุป

ผมยังไม่รันตัวอย่างบนเครื่องนี้ในรอบนี้ เพราะเป้าหมายคือชี้แหล่งทางการและจังหวะทดสอบก่อน final วันที่วางไว้ 1 ตุลาคม 2026 ตามหน้าปล่อย

Recap

  • เปิด what’s new ของ 3.15 แล้วค้นคำว่า sentinel
  • อย่าแทนที่ None ทุกจุดโดยไม่ตั้งเจตนา
  • ทดลองบน rc ก่อนพึ่งในไลบรารีสาธารณะ