บทที่ 5: ฟังก์ชัน (Functions)
5.1 การสร้างและการใช้งานฟังก์ชันใน Python
ฟังก์ชัน (Function) เป็นเครื่องมือที่ช่วยให้เราสามารถแยกส่วนของโค้ดออกมาเป็นโมดูลย่อย ๆ เพื่อใช้ซ้ำหรือจัดการโค้ดให้เป็นระเบียบมากขึ้น ฟังก์ชันช่วยให้การเขียนโปรแกรมง่ายและมีประสิทธิภาพมากขึ้น เราสามารถกำหนดฟังก์ชันของเราเองหรือใช้ฟังก์ชันที่มีอยู่แล้วใน Python
การสร้างฟังก์ชันใน Python
ในการสร้างฟังก์ชันใน Python เราใช้คำสั่ง def ตามด้วยชื่อฟังก์ชัน และตามด้วยวงเล็บที่อาจมีพารามิเตอร์ ฟังก์ชันจะมีบล็อกโค้ดที่อยู่ภายใน ซึ่งจะทำงานเมื่อเรียกใช้ฟังก์ชันนั้น
โครงสร้างของฟังก์ชัน
def ชื่อฟังก์ชัน(พารามิเตอร์):
# โค้ดที่ต้องการให้ฟังก์ชันทำงาน
return ค่าที่ต้องการส่งกลับ (ถ้ามี)
- def: คำสั่งที่ใช้สร้างฟังก์ชัน
- ชื่อฟังก์ชัน: ชื่อที่ตั้งให้กับฟังก์ชัน (ควรตั้งให้สื่อถึงการทำงานของฟังก์ชัน)
- พารามิเตอร์ (Parameters): ค่าที่ส่งเข้าไปให้ฟังก์ชันเพื่อใช้ในการประมวลผล (อาจมีหรือไม่มีก็ได้)
- return: ใช้คืนค่ากลับไปเมื่อฟังก์ชันทำงานเสร็จ (อาจมีหรือไม่มีก็ได้)
ตัวอย่างการสร้างและเรียกใช้ฟังก์ชัน
ตัวอย่างที่ 1: ฟังก์ชันง่าย ๆ ที่ไม่รับพารามิเตอร์
def say_hello():
print("Hello, World!")
# เรียกใช้ฟังก์ชัน
say_hello()
อธิบาย: ฟังก์ชัน say_hello() จะพิมพ์ข้อความ "Hello, World!" เมื่อถูกเรียกใช้
ตัวอย่างที่ 2: ฟังก์ชันที่รับพารามิเตอร์
def greet(name):
print("Hello,", name)
# เรียกใช้ฟังก์ชันพร้อมส่งค่าพารามิเตอร์
greet("Alice")
อธิบาย: ฟังก์ชัน greet(name) รับพารามิเตอร์ชื่อ name และแสดงข้อความทักทายโดยใช้ค่าที่ถูกส่งเข้ามา
ตัวอย่างที่ 3: ฟังก์ชันที่คืนค่าด้วย return
def add_numbers(x, y):
return x + y
# เรียกใช้ฟังก์ชันและเก็บผลลัพธ์
result = add_numbers(5, 10)
print("Result:", result)
อธิบาย: ฟังก์ชัน add_numbers(x, y) รับตัวเลขสองตัวและคืนค่าผลรวมของมันเมื่อถูกเรียกใช้
ฟังก์ชันที่มีค่าเริ่มต้นของพารามิเตอร์ (Default Parameters)
ใน Python เราสามารถกำหนดค่าพารามิเตอร์เริ่มต้นให้กับฟังก์ชันได้ หากผู้ใช้ไม่ส่งค่ามา ฟังก์ชันจะใช้ค่าที่กำหนดเป็นค่าเริ่มต้น
ตัวอย่างฟังก์ชันที่มีค่าเริ่มต้น
def greet(name="Guest"):
print("Hello,", name)
# เรียกใช้ฟังก์ชันโดยไม่ส่งค่าพารามิเตอร์
greet()
# เรียกใช้ฟังก์ชันพร้อมส่งค่าพารามิเตอร์
greet("Alice")
อธิบาย: ฟังก์ชัน greet(name) จะใช้ค่า "Guest" เป็นค่าเริ่มต้นหากไม่มีการส่งค่าพารามิเตอร์มา แต่ถ้ามีการส่งค่าใหม่ ฟังก์ชันจะใช้ค่านั้นแทน
การส่งหลายค่ากลับจากฟังก์ชัน
Python สามารถคืนค่าหลาย ๆ ค่าได้ในฟังก์ชันเดียว
ตัวอย่างการคืนค่าหลายค่า
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) คืนค่าทั้งผลบวกและผลต่างกลับมา
ฟังก์ชันแบบ Lambda
นอกจากการสร้างฟังก์ชันแบบปกติแล้ว Python ยังรองรับการสร้างฟังก์ชันแบบสั้น ๆ ที่เรียกว่า ฟังก์ชัน Lambda ฟังก์ชัน Lambda เหมาะสำหรับฟังก์ชันที่ต้องการเขียนให้สั้นกระชับและไม่ต้องการใช้งานซ้ำ
ตัวอย่างฟังก์ชัน Lambda
# ฟังก์ชัน lambda สำหรับบวกตัวเลขสองตัว
add = lambda x, y: x + y
print(add(5, 3))
อธิบาย: ฟังก์ชัน lambda สร้างฟังก์ชันที่ไม่ต้องระบุชื่อ โดยใช้สำหรับงานที่ไม่ซับซ้อน
สรุป
การสร้างและใช้งานฟังก์ชันใน Python เป็นวิธีที่ช่วยให้การเขียนโปรแกรมเป็นระเบียบและมีประสิทธิภาพมากขึ้น ฟังก์ชันช่วยให้เราสามารถแยกโค้ดออกเป็นส่วนย่อย ๆ ทำให้สามารถใช้งานซ้ำได้ ฟังก์ชันยังสามารถรับพารามิเตอร์และคืนค่ากลับได้ ทำให้การพัฒนาโปรแกรมที่ซับซ้อนเป็นเรื่องง่ายขึ้น