Tag: typing
7 รายการ
Blog
Python annotationlib: อ่าน type hint เป็นข้อความโดยไม่ resolve ชื่อทันที
ใช้ annotationlib.get_annotations กับ Format.STRING สำหรับ tooling ที่ต้องอ่าน type hint โดยไม่ import dependency เพิ่ม พร้อม unittest
Python typing.assert_never: ทำให้ branch ที่ไม่ควรถึงตรวจได้ทั้ง static และ runtime
สร้าง exhaustive dispatch ด้วย Enum, assert_never และ unittest พร้อมอธิบายข้อจำกัดของ type checker
Python typing.override: แสตมป์บอก type checker ว่าตั้งใจทับเมธอดแม่
ใช้ @override จาก typing (PEP 698) เพื่อจับชื่อเมธอดทับผิด พร้อม unittest รันไทม์

dataclass(slots=True, kw_only=True): ล็อกฟิลด์และบังคับคีย์เวิร์ด
สรุป slots กับ kw_only ของ dataclasses พร้อมตัวอย่างรันได้ว่าทำไมถึงกันพิมพ์ผิดและลดหน่วยความจำ

Python StrEnum: เมื่อค่า enum ต้องเป็นสตริงจริงๆ
เทียบ enum.Enum กับ enum.StrEnum แบบสั้น พร้อมตัวอย่างรันได้และตารางเลือกใช้
![นากกายสีมิ้นต์ถือการ์ดชนิด list[int] และ Union ส่งเข้าช่อง TypeForm บนโต๊ะมิ้นต์](/images/python/python-315-pep-747-typeform.webp?v=161e610acc473a26)
Python 3.15 PEP 747: TypeForm สำหรับฟังก์ชันที่รับ type expression
สรุป PEP 747 ที่เพิ่ม typing.TypeForm ให้ annotate พารามิเตอร์ซึ่งรับผลจากการประเมิน type expression ตอนรันไทม์

Python 3.15 PEP 728: TypedDict ปิดหรือพิมพ์ extra items ได้แล้ว
สรุป PEP 728 ที่เพิ่มพารามิเตอร์ closed และ extra_items ให้ TypedDict เพื่อจำกัดหรือพิมพ์คีย์ส่วนเกินอย่างชัดเจน