Section 6: Lab: List, Tuple, Set และ Dictionary
- List สำหรับเก็บค่าที่อ่านได้ต่อเนื่อง และการหาค่าเฉลี่ย สูงสุด ต่ำสุด
- Tuple และ Set ใช้เมื่อไร
- Dictionary สำหรับเก็บค่าตั้งค่าและข้อมูลของอุปกรณ์หลายตัว
- List Comprehension และ Dictionary Comprehension
- Lab: สรุปข้อมูลเซนเซอร์หลายจุดเป็นรายงานสั้น
Section 7: Lab: การเขียนโปรแกรมเชิงวัตถุ (OOP)
- Class, Object, Attribute และ Method
- Inheritance: คลาส Sensor แม่และเซนเซอร์แต่ละชนิด
- dataclass สำหรับเก็บข้อมูลการอ่านค่าแบบกระชับ
- Lab: โมเดลอุปกรณ์ IoT ด้วย Class ที่นำไปใช้ซ้ำได้
Section 8: Module, Package และไลบรารีมาตรฐาน
- สร้าง Module และ Package ของตัวเองและการ import
- ไลบรารีมาตรฐาน: time, datetime, random, json และ pathlib
- ติดตั้งไลบรารีภายนอกด้วย uv หรือ pip และไฟล์ pyproject.toml
- จัดโครงสร้างโปรเจกต์ IoT ให้แยกส่วนอ่านค่า ประมวลผล และส่งข้อมูล
Section 9: Lab: ฟังก์ชันขั้นสูงและ Decorator
- ฟังก์ชันในฐานะ Object และการคืนค่าเป็นฟังก์ชัน
- สร้าง Function Decorator และ Decorator ที่รับพารามิเตอร์
- Lab: Decorator จับเวลาการทำงานและลองใหม่เมื่ออ่านค่าล้มเหลว
- กรณีใช้ Decorator ในไลบรารีจริง
Section 10: Lab: ไฟล์ ข้อผิดพลาด และ Logging
- เปิด อ่าน และเขียนไฟล์ด้วย with และ pathlib
- บันทึกข้อมูลเซนเซอร์เป็น CSV และอ่านไฟล์ตั้งค่า JSON
- จัดการข้อผิดพลาดด้วย try, except, else และ finally
- บันทึก Log ด้วยโมดูล logging แทน print
- Lab: Data Logger ที่ทำงานต่อได้แม้อ่านค่าผิดพลาด