🐍 Python คืออะไร?
ทำไมนักวิทยาศาสตร์ข้อมูล วิศวกร AI และนักพัฒนา Robotics ถึงเลือก Python เป็นภาษาหลัก
- ✓ อธิบายได้ว่า Python คืออะไรและใช้ทำอะไรได้บ้าง
- ✓ เขียนและรันโปรแกรม Python แรกได้ด้วยตัวเอง
- ✓ เข้าใจความแตกต่างระหว่าง Python กับ Scratch/Block-based
Python vs Scratch — เปรียบเทียบ
| ด้าน | Scratch (Block) | Python (Text) |
|---|---|---|
| วิธีเขียน | ลากวางบล็อก | พิมพ์โค้ดเป็นข้อความ |
| ความยืดหยุ่น | จำกัดตาม Block ที่มี | ไม่มีข้อจำกัด |
| ใช้ในงานจริง | เรียนรู้ขั้นต้น | Industry Standard |
| เชื่อม AI/ML | ผ่าน Extension | Native — TensorFlow, PyTorch |
| ควบคุม Robot | LEGO App เท่านั้น | ทุก Hardware — Raspberry Pi, Arduino |
โปรแกรมแรก: Hello, Python! 🎉
Google Colab — เริ่มเรียนทันทีไม่ต้องติดตั้ง! ไปที่ colab.research.google.com เปิด New Notebook พิมพ์โค้ด แล้วกด Shift+Enter รันได้เลย ฟรี และมีทรัพยากร GPU สำหรับ AI
ติดตั้ง Python และ VS Code จากนั้นเขียนโปรแกรมแนะนำตัวเองอย่างน้อย 5 บรรทัด
- 1ดาวน์โหลด Python 3.x จาก python.org และ VS Code จาก code.visualstudio.com
- 2ติดตั้ง Extension "Python" ใน VS Code
- 3สร้างไฟล์
intro.pyเขียนprint()แนะนำชื่อ อายุ โรงเรียน และสิ่งที่ชอบ - 4รันโปรแกรมและดูผลลัพธ์ใน Terminal
📦 ตัวแปรและประเภทข้อมูล
Variable คือกล่องเก็บข้อมูล Python มี 4 ประเภทหลัก: int, float, str, bool — เชื่อมต่อตรงกับ Sensor และ AI
เช่น 10, -5, 0, 255
เช่น 3.14, -0.5, 98.6
เช่น "สวัสดี", "Robot"
True หรือ False เท่านั้น
การประกาศตัวแปร
ตัวดำเนินการ (Operators)
| ประเภท | ตัวอย่าง | ผลลัพธ์ | ใช้ในงานจริง |
|---|---|---|---|
| คำนวณ | 10 + 3, 10 % 3, 2 ** 8 | 13, 1, 256 | คำนวณระยะ, พื้นที่ |
| เปรียบเทียบ | 10 > 5, x == y, a != b | True/False | ตรวจ Sensor, เงื่อนไข |
| ตรรกะ | x and y, not flag, a or b | True/False | หลาย Sensor พร้อมกัน |
| String | "Hi " + name, "abc" * 3 | "Hi น้อง", "abcabcabc" | สร้างข้อความ Output |
สร้างโปรแกรมจำลองการอ่านค่า Sensor และแสดงผลสถานะหุ่นยนต์
- 1ประกาศตัวแปร:
distance = 25,battery = 87.5,robot_name = "RoboX" - 2คำนวณ:
battery_left = battery / 100 * 5000(mAh ที่เหลือ) - 3แสดงผลด้วย f-string รายงานสถานะหุ่นยนต์ทุกค่า
- 4เพิ่มตัวแปร
is_charging = Falseและแสดงสถานะการชาร์จ
🔀 เงื่อนไขและลูป
if/elif/else ตัดสินใจ, for และ while วนซ้ำ — หัวใจของ Robot Control Loop
if / elif / else — การตัดสินใจ
for Loop — วนซ้ำตามลำดับ
Robot Control Loop ในชีวิตจริง — หุ่นยนต์ทุกตัวรัน while True: วนซ้ำตลอดเวลา อ่าน Sensor → ตัดสินใจ → ควบคุม Motor ซ้ำๆ นับพันครั้งต่อวินาที นี่คือ Pattern พื้นฐานของ Robotics ทั้งโลก
สร้างโปรแกรมจำลองสัญญาณไฟจราจรอัจฉริยะ ที่ปรับระยะเวลาตามจำนวนรถ
- 1สร้าง List
car_counts = [5, 23, 8, 47, 2, 31]แต่ละชั่วโมง - 2วนซ้ำ for loop: ถ้า > 30 คัน → ไฟเขียวนาน 60 วิ, < 10 คัน → 20 วิ, อื่นๆ → 40 วิ
- 3หาชั่วโมงที่รถมากที่สุดและน้อยที่สุด
- 4คำนวณค่าเฉลี่ยจำนวนรถด้วย
sum() / len()
🔧 ฟังก์ชัน (Functions)
ฟังก์ชันคือบล็อกโค้ดที่ตั้งชื่อได้ นำกลับมาใช้ใหม่ได้ เป็นหัวใจของ Decomposition และ Clean Code
การสร้างและเรียกใช้ฟังก์ชัน
ฟังก์ชัน = Decomposition จริงๆ! แทนที่จะเขียนโค้ดซ้ำ 100 บรรทัด เราแยกเป็นฟังก์ชันเล็กๆ แต่ละอันทำหน้าที่เดียว ง่ายต่อการ Debug ทดสอบ และนำไปใช้ใหม่ ใน AI Library เช่น TensorFlow ทุกอย่างคือฟังก์ชัน
สร้าง Library ฟังก์ชันสำหรับหุ่นยนต์ แล้วเขียน Main Program ใช้ฟังก์ชันเหล่านั้น
- 1สร้างฟังก์ชัน
move(direction, speed=50),turn(degrees),stop() - 2สร้างฟังก์ชัน
read_sensor()ที่ return ค่าสุ่ม 5–200 ด้วยrandom.randint(5, 200) - 3เขียน Main Loop: เรียก
read_sensor()แล้วตัดสินใจด้วย if/elif ว่าจะmove()หรือstop() - 4รัน 10 รอบด้วย
forloop
📋 List & Dictionary
โครงสร้างข้อมูลที่ใช้บ่อยที่สุดใน Python — จัดเก็บ Sensor Data, Training Data และ Config ของ AI
List — อาร์เรย์ใน Python
Dictionary — เก็บข้อมูลแบบ key-value
สร้างระบบจัดการฝูงหุ่นยนต์ด้วย List of Dictionaries ค้นหา รายงาน และอัปเดตข้อมูล
- 1สร้าง
robots = [{"id":"R1","battery":80,"task":"patrol"},...]5 ตัว - 2เขียนฟังก์ชัน
find_low_battery(robots, threshold=20)คืน List หุ่นยนต์แบตน้อย - 3เขียนฟังก์ชัน
assign_task(robots, robot_id, new_task)อัปเดตงาน - 4แสดงรายงานสรุปหุ่นยนต์ทั้งหมดด้วย for loop
🤖 Python + Robotics Mini Project
นำทุกทักษะมารวมกัน สร้างโปรแกรม Python จำลองระบบ Autonomous Robot Navigation
Mini Project: Autonomous Robot Simulator
เป้าหมาย: เขียนโปรแกรม Python จำลองหุ่นยนต์อัตโนมัติที่ อ่าน Sensor สุ่ม → วิเคราะห์สภาพแวดล้อม → ตัดสินใจ → รายงานสถานะ ครบ 10 รอบ
ไปไกลกว่านั้น! โค้ดนี้เป็น Pattern เดียวกับ ROS2 (Robot Operating System) จริงๆ ใน Module ถัดไปจะเอา Python นี้ไปควบคุม Hardware จริงผ่าน Raspberry Pi และ Arduino แทนการจำลองด้วย random
🧪 แบบทดสอบ Python Fundamentals
ทดสอบความเข้าใจ ตัวแปร, เงื่อนไข, ลูป, ฟังก์ชัน และ List/Dict · 8 ข้อ
x = 5 x += 3 print(x * 2)type(3.14) คืนค่าอะไร?if dist > 50: print("A")
elif dist > 10: print("B")
else: print("C")for i in range(3): print(i) แสดงผลอะไร?def add(a, b=10): return a + b
print(add(5))data = [10, 20, 30, 40]
print(data[-1]) แสดงผลอะไร?robot = {"name": "X1", "speed": 50}
print(robot["name"])