เมื่อโปรเจกต์ของคุณใหญ่ขึ้น การเขียนทุกอย่างไว้ในไฟล์เดียวจะกลายเป็นฝันร้ายทันทีครับ Module (โมดูล) คือทางออกที่จะช่วยให้เราแบ่งโค้ดออกเป็นไฟล์ย่อยๆ ตามหน้าที่ของมัน
Module คืออะไร?
ง่ายๆ เลยครับ Module ก็คือไฟล์ Python (.py) ที่เก็บรวบรวมฟังก์ชันและตัวแปรไว้นั่นเอง เราสามารถ "นำเข้า" (Import) สิ่งที่อยู่ในไฟล์นั้นมาใช้ในไฟล์หลักของเราได้
1. การใช้ Built-in Modules (โมดูลมาตรฐาน)
Python มีโมดูลที่แถมมาให้เราใช้งานฟรีๆ มหาศาลครับ เช่น math, random, datetime
import math
import random
print(math.sqrt(64)) # Output: 8.0
print(random.randint(1, 10)) # สุ่มเลข 1-10
2. วิธีการ Import แบบต่างๆ
เราสามารถเลือกนำเข้าข้อมูลได้หลายวิธีตามความเหมาะสมครับ:
| รูปแบบการเขียน | คำอธิบาย |
|---|---|
import math |
นำเข้าทั้งโมดูล (ต้องเรียก math.pi) |
from math import pi |
เลือกนำเข้าเฉพาะตัวที่ต้องการ (เรียก pi ได้เลย) |
import pandas as pd |
นำเข้าพร้อมตั้งชื่อเล่น (Alias) เพื่อให้เขียนสั้นลง |
3. การสร้าง Module ใช้เอง (Custom Module)
สมมติเราสร้างไฟล์ชื่อ my_tools.py เพื่อเก็บฟังก์ชันส่วนตัวของเรา:
# ไฟล์: my_tools.py
def say_hi(name):
print(f"สวัสดีคุณ {name} จากโมดูลส่วนตัว!")
เราสามารถเรียกใช้ในไฟล์หลัก (main.py) ได้แบบนี้:
# ไฟล์: main.py
import my_tools
my_tools.say_hi("โปรแกรมเมอร์")
4. Packages คืออะไร?
ถ้า Module คือ "ไฟล์", Package ก็คือ "โฟลเดอร์" ครับ มันคือการรวมกลุ่มของหลายๆ โมดูลไว้ด้วยกัน เพื่อให้โปรเจกต์ระดับองค์กรจัดการได้ง่ายขึ้นนั่นเอง
สรุป
การแยกโค้ดเป็น Functions และ Modules ไม่ได้ทำให้โปรแกรมทำงานเร็วขึ้น แต่ทำให้ "คน" ทำงานเร็วขึ้นครับ เพราะมันช่วยให้เราแก้ไขโค้ดได้ง่าย หาจุดผิด (Debug) ได้ไว และทำงานร่วมกับคนอื่นในทีม Web Dev ได้อย่างราบรื่น
ในบทถัดไป (EP 10): เราจะข้ามไปสู่เรื่องที่คนสาย Data และ Web ต้องใช้บ่อยมาก นั่นคือการ File Handling หรือการอ่าน-เขียนข้อมูลลงในไฟล์จริงครับ