Function และ Module
เมื่อโค้ดเริ่มยาว เราควรแยก logic ออกเป็น function เพื่อให้อ่านง่าย ทดสอบง่าย และนำกลับมาใช้ซ้ำได้
สร้าง Function
def greet(name):
return f"สวัสดี {name}"
message = greet("Ann")
print(message)
Parameter และ Return
def calculate_total(price, quantity):
return price * quantity
total = calculate_total(100, 3)
print(total)
Function ควรทำงานหนึ่งอย่างให้ชัดเจน เช่น คำนวณราคา ตรวจสอบข้อมูล หรือแปลง format
Default Parameter
def apply_discount(price, discount_rate=0.1):
return price * (1 - discount_rate)
print(apply_discount(1000))
print(apply_discount(1000, 0.2))
Scope
ตัวแปรที่สร้างใน function จะใช้ได้เฉพาะใน function นั้น
def demo():
value = 10
return value
print(demo())
Type Hint
Type hint ช่วยให้คนอ่านรู้ว่า function รับและคืนค่าอะไร
def add(a: int, b: int) -> int:
return a + b
Module
Module คือไฟล์ Python ที่นำไป import ได้
สร้างไฟล์ calculator.py
def add(a, b):
return a + b
ใช้ใน main.py
from calculator import add
print(add(10, 5))
Import จาก Standard Library
from datetime import datetime
now = datetime.now()
print(now)
แบบฝึกหัด
- สร้าง function
calculate_vat(price, vat_rate=0.07) - สร้าง function
calculate_total(price, quantity) - สร้างไฟล์
pricing.pyแล้วเอา function ทั้งสองไปไว้ในนั้น - import มาใช้ใน
main.py