Python Functions - สร้างชุดคำสั่งส่วนตัว เขียนครั้งเดียวใช้ได้ตลอดไป

Last updated: January 24, 2026

เบื่อไหมครับที่ต้องก๊อปปี้โค้ดเดิมๆ ไปวางหลายๆ ที่ในโปรเจกต์? วันนี้เราจะมาทำความรู้จักกับ Function (ฟังก์ชัน) เครื่องมือที่จะช่วยให้โค้ดของคุณสะอาด เป็นระเบียบ และทำงานได้เหมือนมือโปรตามหลักการ DRY (Don't Repeat Yourself) ครับ

Function คืออะไร?

ถ้าเปรียบเทียบกับการทำอาหาร Function ก็คือ "สูตรอาหาร" ครับ เราเขียนขั้นตอนการทำไว้ครั้งเดียว เมื่อไหร่ที่หิว (ต้องการใช้งาน) เราก็แค่เรียกชื่อเมนูนั้นมาทำ โดยไม่จำเป็นต้องเขียนขั้นตอนการสับหมูหรือล้างผักใหม่ทุกครั้ง


1. โครงสร้างและการสร้าง Function

ใน Python เราจะใช้คีย์เวิร์ด def (ย่อมาจาก Define) ตามด้วยชื่อฟังก์ชันและเครื่องหมายวงเล็บครับ

# การสร้างฟังก์ชัน
def welcome_msg():
    print("ยินดีต้อนรับเข้าสู่ระบบ devhub.in.th")

# การเรียกใช้งาน
welcome_msg()

การรับค่าเข้า (Parameters & Arguments)

ฟังก์ชันจะเก่งขึ้นมากถ้าเรารับค่ามาประมวลผลได้ครับ

  • Parameter: คือชื่อตัวแปรที่เรากำหนดไว้ในวงเล็บตอนสร้างฟังก์ชัน
  • Argument: คือค่าจริงๆ ที่เราส่งเข้าไปตอนเรียกใช้
คำศัพท์ หน้าที่ ตัวอย่าง
Parameter ตัวแปรรับค่า (วางไว้ที่ชื่อฟังก์ชัน) def add(x, y):
Argument ค่าที่ส่งไปให้ฟังก์ชันทำงาน add(10, 20)

2. การส่งค่ากลับด้วย Return

ฟังก์ชันส่วนใหญ่ไม่ได้มีหน้าที่แค่แสดงผล (print) แต่ต้อง "ส่งค่า" กลับมาให้เราเอาไปคำนวณต่อครับ เราจะใช้คำสั่ง return

def calculate_area(width, height):
    area = width * height
    return area

# นำค่าที่ได้มาเก็บไว้ในตัวแปร
my_room = calculate_area(5, 4)
print(f"พื้นที่ห้องขนาด: {my_room} ตร.ม.")

3. ขอบเขตตัวแปร (Local vs Global Scope)

เรื่องนี้สำคัญมากครับ! ตัวแปรที่สร้าง "ข้างใน" ฟังก์ชันจะเรียกว่า Local Variable ซึ่งคนข้างนอกจะมองไม่เห็นและเรียกใช้ไม่ได้

Blockquote: "จำไว้ว่า... อะไรที่เกิดขึ้นในฟังก์ชัน ก็จะจบลงในฟังก์ชัน (ยกเว้นเราจะ return มันออกมา!)"


Workshop: ระบบคำนวณเกรดแบบฟังก์ชัน

def check_grade(score):
    if score >= 80:
        return "A"
    elif score >= 50:
        return "Pass"
    else:
        return "Fail"

# เรียกใช้งานซ้ำๆ ได้ง่ายๆ
print(check_grade(85)) # Output: A
print(check_grade(45)) # Output: Fail