EP02: เริ่มต้นกับ Python

1.1 การติดตั้ง Python และโปรแกรมพัฒนาโค้ด (IDE)

  • ทำไมต้องมี Python Interpreter?
    • คอมพิวเตอร์ไม่เข้าใจภาษา Python โดยตรง
    • Python Interpreter คือ “ล่าม” หรือ “ตัวแปลภาษา” ที่อ่านโค้ด Python ทีละบรรทัดแล้วสั่งให้คอมพิวเตอร์ทำงานตาม
  • แหล่งดาวน์โหลด Python:
    • แนะนำเว็บไซต์หลัก: python.org
    • เวอร์ชันที่แนะนำ (เช่น Python 3.x.x ที่เป็น Stable release ล่าสุด)
  • โปรแกรมพัฒนาโค้ด (IDE – Integrated Development Environment) คืออะไร?
    • นิยาม: โปรแกรมที่รวมเครื่องมือต่างๆ ที่จำเป็นสำหรับการเขียนโปรแกรมไว้ในที่เดียว
    • ประโยชน์ของ IDE:
      • Text Editor: สำหรับเขียนและแก้ไขโค้ด (มักมี syntax highlighting ช่วยให้อ่านโค้ดง่าย)
      • Build/Execution Tools: ช่วยในการรัน (run) หรือคอมไพล์โปรแกรมได้ง่าย
      • Debugger: เครื่องมือช่วยค้นหาและแก้ไขข้อผิดพลาดในโปรแกรม
      • Project Management: ช่วยจัดการไฟล์ต่างๆ ในโปรเจกต์
  • แนะนำ Python IDEs ที่นิยม (สำหรับผู้เริ่มต้น):

1. IDLE (Integrated Development and Learning Environment): ติดตั้งมาพร้อมกับ Python, เรียบง่าย, เหมาะกับการทดลองโค้ดสั้นๆ

2. Thonny: ออกแบบมาสำหรับผู้เริ่มต้นโดยเฉพาะ, มี User Interface ที่เข้าใจง่าย, มี Debugger ในตัวที่เห็นภาพชัดเจน

3. Visual Studio Code (VS Code): Text Editor ที่ทรงพลังและปรับแต่งได้สูง, ต้องติดตั้งส่วนขยาย (Extension) “Python” ของ Microsoft เพิ่มเติม, เป็นที่นิยมมากในหมู่นักพัฒนาทั่วไป

4. PyCharm Community Edition: IDE ที่มีความสามารถสูงจาก JetBrains, มีเครื่องมือช่วยพัฒนามากมาย, อาจจะดูซับซ้อนเล็กน้อยสำหรับผู้เริ่มต้น แต่ก็เป็นตัวเลือกที่ดี

1.2 โครงสร้างโปรแกรม Python พื้นฐาน และ “Hello, World!”

  • โหมดการทำงานของ Python:
    • Interactive Mode (โหมดโต้ตอบ):
      • พิมพ์คำสั่ง Python ทีละบรรทัด แล้ว Interpreter จะประมวลผลและแสดงผลทันที
      • เข้าถึงได้ผ่าน Command Prompt/Terminal (พิมพ์ python หรือ python3) หรือ Shell ใน IDE
      • เหมาะสำหรับทดลองโค้ดสั้นๆ, ตรวจสอบค่าตัวแปร, หรือเรียนรู้คำสั่งใหม่ๆ
      • สัญลักษณ์ Prompt มักจะเป็น >>>
    • Script Mode (โหมดสคริปต์):
      • เขียนชุดคำสั่ง Python หลายๆ บรรทัดรวมกันในไฟล์เดียว
      • บันทึกไฟล์ด้วยนามสกุล .py (เช่น my_program.py)
      • รันโปรแกรมทั้งไฟล์ผ่าน Interpreter
      • เป็นวิธีการเขียนโปรแกรมทั่วไปสำหรับสร้างแอปพลิเคชัน
  • การเขียนโปรแกรมแรก: “Hello, World!”
    • คำสั่งพื้นฐานที่สุดในการแสดงผลออกทางหน้าจอคือฟังก์ชัน print()
    • ไวยากรณ์: print(“ข้อความที่ต้องการแสดง”) หรือ print(‘ข้อความ’)
    • ตัวอย่าง: print(“Hello, World!”)
    • “Hello, World!” คือ สตริง (String) หรือชุดของอักขระ
  • การบันทึกและรันโปรแกรม Python:
    • การบันทึกไฟล์: ใช้เมนู File > Save หรือ File > Save As… ใน IDE, ตั้งชื่อไฟล์ให้สื่อความหมาย และใช้นามสกุล .py
    • การรันโปรแกรม:
      • ใน IDE ส่วนใหญ่จะมีปุ่ม “Run” หรือเมนู “Run” (เช่น กด F5 ใน Thonny หรือ VS Code)
      • ผ่าน Command Prompt/Terminal: python ชื่อไฟล์.py หรือ python3 ชื่อไฟล์.py
  • การใช้ความคิดเห็น (Comments) ใน Python:
    • ความสำคัญ: ใช้อธิบายโค้ด, ทำให้ผู้อื่น (หรือตัวเราเองในอนาคต) เข้าใจการทำงานของโปรแกรมได้ง่ายขึ้น, Interpreter จะไม่ประมวลผลส่วนที่เป็น Comment
    • Single-line Comment (ความคิดเห็นบรรทัดเดียว):
      • ใช้เครื่องหมาย # นำหน้าข้อความ
      • ตัวอย่าง: # นี่คือโปรแกรมแรกของฉัน print(“Hello”) # แสดงคำทักทาย
    • Multi-line Comment / Docstrings (ความคิดเห็นหลายบรรทัด หรือ Docstring):
      • ใช้เครื่องหมายอัญประกาศสามตัว (“””ข้อความ””” หรือ ”’ข้อความ”’) ครอบข้อความ
      • มักใช้สำหรับอธิบายภาพรวมของไฟล์, ฟังก์ชัน, หรือคลาส (เรียกว่า Docstring)
      • ตัวอย่าง:
Python
"""
นี่คือโปรแกรมตัวอย่าง
ที่เขียนด้วยภาษา Python
สำหรับนักศึกษา ปวส.
"""
print("Welcome!")
  • ข้อควรรู้เบื้องต้นเกี่ยวกับไวยากรณ์ (Syntax):
    • Case Sensitivity: ภาษา Python แยกแยะระหว่างตัวอักษรพิมพ์เล็กและพิมพ์ใหญ่ เช่น name กับ Name ถือเป็นคนละตัวแปร
    • Indentation (การย่อหน้า): มีความสำคัญมากใน Python ใช้ในการกำหนดขอบเขตของบล็อกโค้ด (จะเรียนในรายละเอียดเมื่อถึงเรื่องโครงสร้างควบคุม)

1.3 ตัวแปร (Variables) และการตั้งชื่อ

  • ความหมายของตัวแปร:
    • ชื่อที่ใช้อ้างอิงถึงตำแหน่งในหน่วยความจำที่ใช้เก็บข้อมูล
    • เปรียบเสมือน “กล่อง” หรือ “ป้ายชื่อ” ที่เราตั้งขึ้นเพื่อเก็บค่าต่างๆ ที่จะนำไปใช้ในโปรแกรม
  • การประกาศและกำหนดค่าตัวแปรใน Python (Dynamic Typing):
    • Python เป็นภาษาประเภท Dynamic Typing หมายความว่า เราไม่จำเป็นต้องประกาศชนิดข้อมูลของตัวแปรก่อนใช้งาน Interpreter จะกำหนดชนิดข้อมูลให้โดยอัตโนมัติตามค่าที่ถูกกำหนดให้กับตัวแปรนั้น
    • การกำหนดค่า (Assignment): ใช้เครื่องหมายเท่ากับ =
    • ไวยากรณ์: ชื่อตัวแปร = ค่าข้อมูล
    • ตัวอย่าง:
Python
student_name = "สมศรี"  # ตัวแปร student_name เก็บข้อมูลชนิดสตริง
age = 20              # ตัวแปร age เก็บข้อมูลชนิดจำนวนเต็ม
gpa = 3.75            # ตัวแปร gpa เก็บข้อมูลชนิดจำนวนจริง
is_male = False       # ตัวแปร is_male เก็บข้อมูลชนิดบูลีน
  • กฎเกณฑ์การตั้งชื่อตัวแปร (Naming Rules):
  1. ต้องขึ้นต้นด้วยตัวอักษร (a-z, A-Z) หรือเครื่องหมายขีดล่าง (_)
  2. หลังจากตัวแรก สามารถตามด้วยตัวอักษร, ตัวเลข (0-9), หรือเครื่องหมายขีดล่าง (_)
  3. ห้าม ใช้คำสงวน (Keywords) ของ Python เป็นชื่อตัวแปร
  4. ห้าม มีช่องว่าง (space) ในชื่อตัวแปร
  5. ห้าม ใช้สัญลักษณ์พิเศษอื่นๆ เช่น !, @, #, $, %, ^, &, *, (, ), -, +, =, ?, / (ยกเว้น _)
  6. ชื่อตัวแปรเป็นแบบ Case-Sensitive (ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ถือว่าแตกต่างกัน) เช่น myVar, myvar, MyVar คือคนละตัวแปร
  • ข้อแนะนำในการตั้งชื่อตัวแปรที่ดี (Naming Conventions):
    • snake_case: เป็นรูปแบบที่นิยมใช้ใน Python สำหรับชื่อตัวแปรและชื่อฟังก์ชัน โดยใช้ตัวพิมพ์เล็กทั้งหมด และคั่นแต่ละคำด้วยเครื่องหมายขีดล่าง (_)
      • ตัวอย่าง: first_name, item_count, total_price
    • ชื่อสื่อความหมาย (Meaningful Names): ตั้งชื่อให้สื่อถึงข้อมูลที่ตัวแปรนั้นเก็บอยู่ เพื่อให้โค้ดอ่านเข้าใจง่าย
      • ดี: student_age = 19
      • ไม่ดี: a = 19 (ถ้าไม่มีบริบทอื่น)
    • หลีกเลี่ยงการใช้ตัวอักษรเดียว (เช่น x, y) ยกเว้นในกรณีที่เป็นที่เข้าใจกันโดยทั่วไป (เช่น ตัวนับใน loop i, j, k หรือตัวแปรทางคณิตศาสตร์)
    • มีความสอดคล้องกันในการตั้งชื่อตลอดทั้งโปรเจกต์

1.4 คำสงวนในภาษา Python (Python Reserved Words / Keywords)

  • ความหมาย: คำที่ถูกกำหนดไว้เป็นพิเศษในภาษา Python และมีความหมายเฉพาะในการทำงานของ Interpreter ไม่สามารถนำคำเหล่านี้ไปใช้เป็นชื่อตัวแปร, ชื่อฟังก์ชัน, หรือชื่ออื่นๆ ที่ผู้ใช้กำหนดเอง (Identifiers)
  • ตัวอย่างคำสงวนที่สำคัญและใช้บ่อย:
    • if, elif, else (สำหรับการตัดสินใจ)
    • for, while (สำหรับการวนซ้ำ)
    • def (สำหรับนิยามฟังก์ชัน), class (สำหรับนิยามคลาส)
    • return (สำหรับคืนค่าจากฟังก์ชัน)
    • import, from (สำหรับการนำโมดูลมาใช้งาน)
    • True, False, None (ค่าคงที่พิเศษ)
    • and, or, not (ตัวดำเนินการตรรกะ)
    • try, except, finally (สำหรับการจัดการข้อผิดพลาด)
    • in, is (ตัวดำเนินการเปรียบเทียบ)
    • break, continue, pass (คำสั่งควบคุมการทำงาน)
  • วิธีการตรวจสอบรายการคำสงวนทั้งหมด:
    • สามารถดูได้จากเอกสารของ Python หรือใช้โค้ดสั้นๆ ใน Python เอง:
Python
import keyword
print(keyword.kwlist)

1.5 ชนิดข้อมูลพื้นฐาน (Basic Data Types) ใน Python (แนะนำเบื้องต้น)

  • ความนำ: ชนิดข้อมูล (Data Type) เป็นการจำแนกประเภทของค่าที่ตัวแปรสามารถเก็บได้ และกำหนดว่าสามารถดำเนินการใดกับค่านั้นได้บ้าง Python มีชนิดข้อมูลพื้นฐานหลายประเภท ดังนี้:
  • จำนวนเต็ม (Integer – int):
    • คือตัวเลขจำนวนเต็ม ทั้งจำนวนเต็มบวก, จำนวนเต็มลบ, หรือศูนย์
    • ตัวอย่าง: count = 10, temperature = -5, year = 2025, population = 70000000
  • จำนวนจริง (Float – float):
    • คือตัวเลขที่มีจุดทศนิยม (Floating-point numbers)
    • ใช้สำหรับค่าที่ต้องการความละเอียด เช่น การวัด, ค่าเงิน, ผลการคำนวณทางวิทยาศาสตร์
    • ตัวอย่าง: pi = 3.14159, price = 99.99, gpa = 3.5, negative_float = -0.001, height = 175.0 (แม้จะไม่มีเศษทศนิยม แต่ถ้ามี .0 จะถือเป็น float)
  • ข้อความ (String – str):
    • คือชุดของอักขระ (ตัวอักษร, ตัวเลข, สัญลักษณ์) ที่เรียงต่อกัน ใช้สำหรับเก็บข้อมูลที่เป็นข้อความ
    • ต้องเขียนอยู่ภายในเครื่องหมายคำพูดเดี่ยว (‘…’), คำพูดคู่ (“…”), หรือคำพูดสามตัว (“””…””” หรือ ”’…”’ สำหรับข้อความหลายบรรทัด)
    • ตัวอย่าง:
Python
school_name = "วิทยาลัยเทคนิคปวส."
greeting = 'สวัสดีครับ'
address = """123 หมู่ 4
ตำบลหัวยอ อำเภอเมือง
จังหวัดแพร่ 54000"""
empty_string = ""
  • ค่าความจริง (Boolean – bool):
    • คือชนิดข้อมูลที่ใช้แทนค่าความจริง มีเพียง 2 ค่าเท่านั้น คือ True (จริง) และ False (เท็จ) (สังเกตว่าตัว T และ F เป็นตัวพิมพ์ใหญ่)
    • มักใช้ในการควบคุมการตัดสินใจในโปรแกรม (เช่น ในคำสั่ง if) หรือเป็นผลลัพธ์จากการเปรียบเทียบ
    • ตัวอย่าง:
Python
is_student = True
is_raining = False
has_passed_exam = (score >= 50) # ผลลัพธ์จะเป็น True หรือ False

2.1 การติดตั้ง Python และ IDE (แนะนำ Thonny หรือ VS Code)

  • ขั้นตอนการดาวน์โหลดและติดตั้ง Python จาก python.org:
    1. ไปที่ python.org
    2. ไปที่ส่วน “Downloads” เลือกเวอร์ชันล่าสุดสำหรับระบบปฏิบัติการของผู้เรียน (Windows, macOS, Linux)
    3. (สำหรับ Windows) สำคัญมาก: ขณะติดตั้ง ให้ติ๊กถูกที่ช่อง “Add Python X.X to PATH” เพื่อให้สามารถเรียกใช้ Python จาก Command Prompt ได้ง่าย
    4. ทำตามขั้นตอนการติดตั้งจนเสร็จ
  • การตรวจสอบการติดตั้ง Python:
    1. เปิด Command Prompt (Windows) หรือ Terminal (macOS/Linux)
    2. พิมพ์ python –version หรือ python3 –version แล้วกด Enter
    3. ควรแสดงเวอร์ชันของ Python ที่ติดตั้งไว้
  • ขั้นตอนการดาวน์โหลดและติดตั้ง IDE:
  • Thonny:
    1. ไปที่ thonny.org
    2. ดาวน์โหลดตัวติดตั้งสำหรับระบบปฏิบัติการของผู้เรียน
    3. ติดตั้งตามขั้นตอน (มักจะง่ายและตรงไปตรงมา)
  • Visual Studio Code (VS Code):
    1. ไปที่ code.visualstudio.com
    2. ดาวน์โหลดและติดตั้ง VS Code
    3. เปิด VS Code ไปที่ส่วน Extensions (ไอคอนสี่เหลี่ยมซ้อนกัน)
    4. ค้นหา “Python” และติดตั้ง Extension ที่พัฒนาโดย Microsoft
    5. VS Code อาจแจ้งให้เลือก Python Interpreter (ให้เลือกตัวที่เพิ่งติดตั้งไป)
  • การตั้งค่าเบื้องต้นของ IDE:
  • (Thonny) อาจไม่ต้องตั้งค่ามากนัก สามารถใช้งานได้เลย
  • (VS Code) ตรวจสอบว่า Interpreter ถูกเลือกถูกต้อง (มุมล่างซ้าย), การตั้งค่า Theme หรือ Font Size (ตามความชอบ, ไม่จำเป็น)
  • การแก้ไขปัญหาที่พบบ่อย:
  • “python is not recognized…” (มักเกิดจากการไม่ได้ Add to PATH) -> อาจต้องติดตั้งใหม่ หรือแก้ไข PATH environment variable (ค่อนข้างซับซ้อนสำหรับผู้เริ่มต้น อาจให้ผู้สอนช่วย)
  • ปัญหาการติดตั้ง IDE -> ตรวจสอบว่าดาวน์โหลดไฟล์ถูกเวอร์ชันกับ OS, มีพื้นที่พอ

2.2 การเขียนและรันโปรแกรมแรก “Hello, World!”

  • การสร้างไฟล์ใหม่ใน IDE:
    • (Thonny) File > New หรือคลิกไอคอน New
    • (VS Code) File > New File
  • การเขียนโค้ด:
    • พิมพ์:
Python
# My first Python program
print("Hello, World!")
print("สวัสดี ปวส. วิทยาลัยเทคนิคแพร่") # ทดลองภาษาไทย
  • การบันทึกไฟล์:
    • File > Save As…
    • เลือกตำแหน่งที่ต้องการบันทึก
    • ตั้งชื่อไฟล์ เช่น hello_pvs.py (สำคัญที่นามสกุลต้องเป็น .py)
  • การรันโปรแกรม:
    • (Thonny) คลิกปุ่ม “Run current script” (ไอคอน Play สีเขียว) หรือกด F5
    • (VS Code) คลิกขวาใน Editor แล้วเลือก “Run Python File in Terminal” หรือกดปุ่ม Play ที่มุมบนขวา (ถ้ามี)
  • สังเกตผลลัพธ์:
    • ผลลัพธ์จะแสดงในส่วน “Shell” (Thonny) หรือ “Terminal” (VS Code) ด้านล่าง
  • ทดลองแก้ไขและรันใหม่:
    • แก้ไขข้อความใน print() เช่น เปลี่ยนเป็นชื่อตัวเอง แล้วรันอีกครั้ง
  • ทดลองใช้ Comments:
    • เพิ่ม Comment อธิบายแต่ละบรรทัด หรืออธิบายภาพรวมของโปรแกรม

2.3 การทำงานกับตัวแปร

  • แบบฝึกหัด 1: ประกาศและแสดงผลตัวแปร
    • ให้ผู้เรียนสร้างไฟล์ใหม่ (เช่น variables_practice.py)
    • เขียนโค้ดประกาศตัวแปรเก็บข้อมูลส่วนตัว:
Python
# ข้อมูลนักศึกษา
student_id = "6730105xxxx"
first_name = "สมชาย"
last_name = "รักเรียน"
age = 19
major = "เทคโนโลยีสารสนเทศ"
gpa = 3.15
is_registered = True

# แสดงผลข้อมูล
print("รหัสนักศึกษา:", student_id)
print("ชื่อ:", first_name, last_name) # print() สามารถรับหลาย arguments ได้
print("อายุ:", age, "ปี")
print("สาขาวิชา:", major)
print("เกรดเฉลี่ย:", gpa)
print("สถานะการลงทะเบียน:", is_registered)
  • แนะนำการใช้ f-strings (Formatted String Literals) เพื่อการแสดงผลที่สวยงาม:
Python
print(f"--- ข้อมูลนักศึกษา (ใช้ f-string) ---")
print(f"รหัสนักศึกษา: {student_id}")
print(f"ชื่อ: {first_name} {last_name}")
print(f"อายุ: {age} ปี, สาขาวิชา: {major}, เกรดเฉลี่ย: {gpa}")
  • แบบฝึกหัด 2: การเปลี่ยนแปลงค่าตัวแปร
    • เขียนโค้ด:
Python
score = 75
print(f"คะแนนเริ่มต้น: {score}")

# สมมติว่าได้คะแนนเพิ่ม
score = score + 10
print(f"คะแนนหลังเพิ่ม: {score}")

# หรือใช้ Augmented Assignment Operator (จะเรียนในหน่วยถัดไป แต่แนะนำได้)
# score += 10
  • แบบฝึกหัด 3: การตั้งชื่อตัวแปร
    • ให้ผู้เรียนพิจารณาชื่อตัวแปรต่อไปนี้ว่าถูกหรือผิดกฎ และถ้าผิด ผิดเพราะอะไร ควรแก้ไขอย่างไร:
      • my variable (ผิด: มีช่องว่าง) -> แก้เป็น my_variable
      • 2nd_number (ผิด: ขึ้นต้นด้วยตัวเลข) -> แก้เป็น second_number หรือ number_2
      • item-price (ผิด: มีเครื่องหมาย -) -> แก้เป็น item_price
      • StudentName (ถูกกฎ แต่ไม่ตรงตาม Convention ของ Python สำหรับตัวแปร) -> แนะนำ student_name
      • for (ผิด: เป็นคำสงวน) -> แก้เป็น for_loop_counter หรือชื่ออื่นที่สื่อความหมาย
      • _value (ถูกกฎ)
      • TOTALSCORE (ถูกกฎ แต่ Convention มักใช้กับค่าคงที่) -> แนะนำ total_score
  • ทดลองใช้คำสงวนเป็นชื่อตัวแปร:
    • ให้ผู้เรียนลองพิมพ์ if = 10 ใน IDE แล้วสังเกต SyntaxError ที่เกิดขึ้น

2.4 การสำรวจชนิดข้อมูลพื้นฐาน

  • แนะนำฟังก์ชัน type():
    • type() ใช้สำหรับตรวจสอบชนิดข้อมูลของค่าหรือตัวแปร
    • ตัวอย่าง: print(type(10)) จะแสดงผล <class ‘int’>
  • แบบฝึกหัด: ตรวจสอบชนิดข้อมูล
    • ให้ผู้เรียนเขียนโค้ดในไฟล์ใหม่ (เช่น data_types_practice.py)
    • สร้างตัวแปรตามตัวอย่าง แล้วใช้ print(type(ชื่อตัวแปร)) และ print(ชื่อตัวแปร, “มีชนิดข้อมูลคือ”, type(ชื่อตัวแปร))
Python
# Integer
num_apples = 5
print(f"ค่า: {num_apples}, ชนิด: {type(num_apples)}")

# Float
book_price = 199.50
print(f"ค่า: {book_price}, ชนิด: {type(book_price)}")

# String
course_code = "CS101"
welcome_message = 'ยินดีต้อนรับสู่ ปวส.'
long_text = """Python is versatile.
It can be used for many purposes."""
print(f"ค่า: {course_code}, ชนิด: {type(course_code)}")
print(f"ค่า: {welcome_message}, ชนิด: {type(welcome_message)}")
print(f"ค่า: {long_text}, ชนิด: {type(long_text)}")

# Boolean
is_online = True
has_error = False
print(f"ค่า: {is_online}, ชนิด: {type(is_online)}")
print(f"ค่า: {has_error}, ชนิด: {type(has_error)}")

# ทดลองกับค่าโดยตรง
print(f"ชนิดข้อมูลของ 100 คือ {type(100)}")
print(f"ชนิดข้อมูลของ -2.5 คือ {type(-2.5)}")
print(f"ชนิดข้อมูลของ \"Test\" คือ {type('Test')}")
print(f"ชนิดข้อมูลของ False คือ {type(False)}")
  • อภิปราย:
    • ความแตกต่างระหว่าง int และ float (การมีจุดทศนิยม)
    • ความแตกต่างระหว่างการใช้ ‘ ‘, ” “, “”” “”” สำหรับ str (multi-line)
    • ค่าที่เป็นไปได้ของ bool (True, False)