Logo

07 Function และ Module

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)

แบบฝึกหัด

  1. สร้าง function calculate_vat(price, vat_rate=0.07)
  2. สร้าง function calculate_total(price, quantity)
  3. สร้างไฟล์ pricing.py แล้วเอา function ทั้งสองไปไว้ในนั้น
  4. import มาใช้ใน main.py