Tag: typing

7 รายการ

Blog

งูต้นฉบับอ่านบัตรชนิดข้อมูลผ่านแผ่นกระจก โดยกลไกเฟืองด้านหลังยังถูกล็อกไม่ให้ทำงาน
pythonannotationlibtyping

Python annotationlib: อ่าน type hint เป็นข้อความโดยไม่ resolve ชื่อทันที

ใช้ annotationlib.get_annotations กับ Format.STRING สำหรับ tooling ที่ต้องอ่าน type hint โดยไม่ import dependency เพิ่ม พร้อม unittest

พี่โชว์
งูขดต้นฉบับกำลังตรวจประตูทางเลือกครบทุกบาน โดยประตูเกินชุดถูกปิดด้วยสลักเล็ก
pythontypingenum

Python typing.assert_never: ทำให้ branch ที่ไม่ควรถึงตรวจได้ทั้ง static และ runtime

สร้าง exhaustive dispatch ด้วย Enum, assert_never และ unittest พร้อมอธิบายข้อจำกัดของ type checker

พี่โชว์
นากกายวางแสตมป์ override ทับเมธอดลูกบนสมุดมิ้นต์
pythontypingpep698

Python typing.override: แสตมป์บอก type checker ว่าตั้งใจทับเมธอดแม่

ใช้ @override จาก typing (PEP 698) เพื่อจับชื่อเมธอดทับผิด พร้อม unittest รันไทม์

น้องกาย
นากกายเสียบการ์ดฟิลด์ลงช่องสล็อตและแป้นคีย์เวิร์ดบนโต๊ะมิ้นต์
pythonstdlibdataclasses

dataclass(slots=True, kw_only=True): ล็อกฟิลด์และบังคับคีย์เวิร์ด

สรุป slots กับ kw_only ของ dataclasses พร้อมตัวอย่างรันได้ว่าทำไมถึงกันพิมพ์ผิดและลดหน่วยความจำ

น้องกาย
นากกายจัดโทเคนไม้สีลงถาดแยกประเภทบนโต๊ะมิ้นต์ สื่อการจัดหมวด enum
pythonstdlibenum

Python StrEnum: เมื่อค่า enum ต้องเป็นสตริงจริงๆ

เทียบ enum.Enum กับ enum.StrEnum แบบสั้น พร้อมตัวอย่างรันได้และตารางเลือกใช้

น้องกาย
นากกายสีมิ้นต์ถือการ์ดชนิด list[int] และ Union ส่งเข้าช่อง TypeForm บนโต๊ะมิ้นต์
pythonpeptyping

Python 3.15 PEP 747: TypeForm สำหรับฟังก์ชันที่รับ type expression

สรุป PEP 747 ที่เพิ่ม typing.TypeForm ให้ annotate พารามิเตอร์ซึ่งรับผลจากการประเมิน type expression ตอนรันไทม์

น้องกาย
นากกายสีมิ้นต์ล็อกลิ้นชักการ์ดคีย์บนโต๊ะมิ้นต์ให้เหลือเฉพาะช่องที่อนุญาต
pythonpeptyping

Python 3.15 PEP 728: TypedDict ปิดหรือพิมพ์ extra items ได้แล้ว

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

น้องกาย