บทที่ 5: ฟังก์ชัน (Functions)

5.2 การใช้พารามิเตอร์และการคืนค่าจากฟังก์ชัน (return)

พารามิเตอร์ (Parameters) และ การคืนค่า (Return Value) เป็นองค์ประกอบสำคัญของฟังก์ชันที่ช่วยให้เราสามารถส่งข้อมูลเข้าไปประมวลผลและรับค่ากลับจากฟังก์ชันได้ บทเรียนนี้จะอธิบายการใช้พารามิเตอร์ในฟังก์ชันและวิธีการคืนค่าผลลัพธ์กลับจากฟังก์ชันโดยใช้คำสั่ง return

1. การใช้พารามิเตอร์ในฟังก์ชัน

พารามิเตอร์คือข้อมูลที่ถูกส่งเข้าไปในฟังก์ชันเพื่อใช้ในการประมวลผล ฟังก์ชันสามารถรับพารามิเตอร์ได้หลายค่า เมื่อฟังก์ชันถูกเรียกใช้งาน ค่าที่ถูกส่งเข้ามาจะถูกเก็บในพารามิเตอร์และสามารถใช้งานภายในฟังก์ชันได้

ตัวอย่างการใช้พารามิเตอร์

def greet(name):
    print("Hello,", name)
    
greet("Alice")  # เรียกใช้ฟังก์ชันพร้อมส่งค่าพารามิเตอร์ "Alice"

อธิบาย: ในตัวอย่างนี้ ฟังก์ชัน greet(name) จะรับพารามิเตอร์ name และใช้ค่า "Alice" ที่ถูกส่งเข้ามาแสดงในข้อความทักทาย

2. การรับหลายพารามิเตอร์

ฟังก์ชันสามารถรับพารามิเตอร์ได้มากกว่าหนึ่งตัว โดยแยกพารามิเตอร์ด้วยเครื่องหมายจุลภาค

ตัวอย่างการรับหลายพารามิเตอร์

def add_numbers(a, b):
    result = a + b
    print("Sum:", result)
    
add_numbers(3, 5)  # ส่งค่าพารามิเตอร์ 3 และ 5 เข้าฟังก์ชัน

อธิบาย: ฟังก์ชัน add_numbers(a, b) รับพารามิเตอร์สองตัวคือ a และ b และคำนวณผลรวมของทั้งสองตัวเลข จากนั้นแสดงผลลัพธ์ออกมา

3. การใช้ค่าพารามิเตอร์เริ่มต้น (Default Parameters)

หากฟังก์ชันมีพารามิเตอร์ที่มีค่าเริ่มต้น (default value) ค่าพารามิเตอร์นั้นจะถูกใช้หากไม่มีการส่งค่าเข้ามาในฟังก์ชัน

ตัวอย่างพารามิเตอร์ที่มีค่าเริ่มต้น

def greet(name="Guest"):
    print("Hello,", name)
    
greet()         # เรียกใช้ฟังก์ชันโดยไม่ส่งพารามิเตอร์
greet("Bob")    # เรียกใช้ฟังก์ชันพร้อมส่งพารามิเตอร์ "Bob"

อธิบาย: ฟังก์ชัน greet(name) มีค่าเริ่มต้นคือ "Guest" ดังนั้นหากไม่ส่งค่าพารามิเตอร์เข้ามา ฟังก์ชันจะใช้ค่า "Guest" โดยอัตโนมัติ แต่ถ้าส่งค่าเข้ามา ฟังก์ชันจะใช้ค่านั้นแทน

4. การคืนค่าจากฟังก์ชัน (Return Value)

การคืนค่าเป็นวิธีที่ใช้ส่งผลลัพธ์กลับไปยังโปรแกรมหลักหลังจากฟังก์ชันทำงานเสร็จ คำสั่ง return จะใช้เพื่อคืนค่าจากฟังก์ชัน เมื่อ return ทำงาน ฟังก์ชันจะหยุดทำงานทันทีและส่งค่าที่ระบุใน return กลับไป

ตัวอย่างการคืนค่าจากฟังก์ชัน

def square(number):
    return number ** 2
    
result = square(4)
print("Square of 4 is:", result)

อธิบาย: ฟังก์ชัน square(number) รับพารามิเตอร์ number และคืนค่าผลลัพธ์ของการยกกำลังสองของตัวเลขนั้น โดยฟังก์ชันจะส่งผลลัพธ์กลับไปเก็บในตัวแปร result

5. การคืนค่าหลายค่า

Python รองรับการคืนค่าหลาย ๆ ค่าในฟังก์ชันเดียว โดยฟังก์ชันสามารถคืนค่าเป็น tuple ซึ่งสามารถเก็บหลายค่าพร้อมกันได้

ตัวอย่างการคืนค่าหลายค่า

def calculate(a, b):
    sum_result = a + b
    difference = a - b
    return sum_result, difference
    
add, sub = calculate(10, 5)
print("Sum:", add)
print("Difference:", sub)

อธิบาย: ฟังก์ชัน calculate(a, b) คืนค่าผลลัพธ์สองค่า คือผลรวมและผลต่าง โดยโปรแกรมหลักจะรับค่าที่คืนมาทั้งสองค่าและนำไปใช้งานต่อ

6. การใช้งานร่วมกับการประมวลผล

การใช้พารามิเตอร์และการคืนค่าจากฟังก์ชันช่วยให้โค้ดของเรามีความยืดหยุ่นและสามารถใช้งานซ้ำได้ ตัวอย่างเช่น ฟังก์ชันที่รับค่าพารามิเตอร์หลายตัวเพื่อทำการประมวลผลและคืนผลลัพธ์ให้กับโปรแกรมหลัก

ตัวอย่างการใช้งานจริง

def calculate_area(width, height):
    return width * height
    
area = calculate_area(5, 10)
print("Area:", area)

อธิบาย: ฟังก์ชัน calculate_area(width, height) รับค่าพารามิเตอร์สองตัว และคืนค่าพื้นที่ของสี่เหลี่ยมโดยใช้สูตรความกว้างคูณกับความสูง

สรุป

การใช้พารามิเตอร์และการคืนค่าจากฟังก์ชันเป็นสิ่งสำคัญที่ช่วยให้เราสามารถสร้างฟังก์ชันที่ยืดหยุ่นและมีประสิทธิภาพมากขึ้น การส่งพารามิเตอร์ช่วยให้ฟังก์ชันรับข้อมูลจากภายนอกเพื่อทำการประมวลผล ส่วนการคืนค่าจากฟังก์ชันช่วยให้โปรแกรมหลักสามารถนำผลลัพธ์ไปใช้งานต่อได้อย่างสะดวก