สอนเขียนโปรแกรม Python ตั้งแต่ต้น
Python เป็นภาษาที่อ่านง่ายและใช้กันมากในงานวิเคราะห์ข้อมูล ระบบอัตโนมัติ การพัฒนาเว็บ และการเรียนการสอนเขียนโปรแกรม บทความนี้จะพาคุณเขียนโปรแกรมแรก ทำความเข้าใจตัวแปร ลิสต์ ดิกชันนารี ฟังก์ชัน และการอ่านไฟล์
หมายเหตุการทดสอบ: เครื่องที่ใช้เขียนบทความนี้ไม่มี Python ติดตั้ง จึงยังไม่ได้รันโค้ดในบทความ ก่อนใช้งานให้รันทุกตัวอย่างเองและตรวจผลลัพธ์ บทความจะอัปเดตผลลัพธ์จริงเมื่อทดสอบแล้ว
สิ่งที่ต้องเตรียม
- Python 3.11 ขึ้นไป (ตรวจด้วย `python --version` หรือ `py --version` บน Windows)
- โปรแกรมแก้ไขข้อความ เช่น VS Code
ภาพรวมการทำงาน
โปรแกรมแรก
สร้างไฟล์ `hello.py` แล้วพิมพ์โค้ดนี้
print("สวัสดี Python")
รันด้วยคำสั่ง `python hello.py` ผลลัพธ์ที่คาดหวังคือข้อความ `สวัสดี Python` บนหน้าจอ
ตัวแปรและลิสต์
name = "สมชาย"
scores = [85, 72, 45]
average = sum(scores) / len(scores)
print(name, "คะแนนเฉลี่ย", round(average, 2))
ใน Python ไม่ต้องประกาศชนิดตัวแปร ลิสต์เก็บรายการที่เปลี่ยนแปลงได้ และ `len` ให้จำนวนสมาชิก
ดิกชันนารีและเงื่อนไข
students = {"สมชาย": 85, "สมหญิง": 72, "สมศักดิ์": 45}
def grade(score):
if score >= 80:
return "A"
elif score >= 70:
return "B"
elif score >= 50:
return "C"
return "F"
for name, score in students.items():
print(name, grade(score))
ดิกชันนารีเก็บคู่ของคีย์กับค่า ฟังก์ชันใช้ `def` และการเยื้องบรรทัดเป็นตัวบอกขอบเขตของโค้ด
การอ่านและเขียนไฟล์
with open("scores.txt", "w", encoding="utf-8") as f:
f.write("สมชาย,85\nสมหญิง,72\n")
with open("scores.txt", encoding="utf-8") as f:
for line in f:
name, score = line.strip().split(",")
print(name, int(score))
`with` ปิดไฟล์ให้โดยอัตโนมัติ และ `encoding="utf-8"` ทำให้ภาษาไทยอ่านเขียนได้ถูกต้อง
ข้อผิดพลาดที่มือใหม่มักเจอ
- **การเยื้องบรรทัดไม่ตรงกัน:** Python ใช้การเยื้องเป็นโครงสร้างโค้ด ควรใช้ 4 ช่องว่างเสมอ
- **ลืมเครื่องหมาย `:`:** หลังคำสั่ง `if`, `for`, `def` ต้องมี `:` เสมอ
- **ภาษาไทยเพี้ยนในไฟล์:** ใช้ `encoding="utf-8"` ทุกครั้งที่เปิดไฟล์
ขั้นต่อไป
ลองเขียนโปรแกรมคำนวณเกรดจากไฟล์ `scores.txt` แล้วบันทึกผลลงไฟล์ใหม่ จากนั้นเรียนรู้โมดูลมาตรฐาน เช่น `csv` และ `datetime`
สรุป
Python ใช้โครงสร้างที่อ่านง่าย ลิสต์และดิกชันนารีเก็บข้อมูล ฟังก์ชันจัดการงานซ้ำ และ `with open` อ่านเขียนไฟล์อย่างปลอดภัย