ฟังก์ชั่น (Function) ในภาษา Python
ฟังก์ชั่น (Function) ในภาษา Python เป็นบล็อกโปรแกรมที่มีชื่อ ซึ่งใช้สำหรับกระบวนการที่ถูกกำหนดไว้ล่วงหน้า และสามารถเรียกใช้งานได้หลายครั้งในส่วนของโปรแกรมอื่น ๆ หรือที่อยู่ในเดียวกัน ฟังก์ชั่นมีรูปแบบดังนี้
def function_name(arguments):
# code to be executed
return value
โดยตัวอย่างด้านบนจะมีส่วนประกอบดังนี้
def
เป็น keyword ที่ใช้ประกาศฟังก์ชั่นใน Pythonfunction_name
เป็นชื่อฟังก์ชั่นที่เราต้องการประกาศarguments
เป็นอาร์กิวเมนต์หรือพารามิเตอร์ที่ใช้สำหรับรับค่าเข้ามาในฟังก์ชั่น และสามารถกำหนดได้หลายตัว โดยใช้เครื่องหมาย,
เช่น(arg1, arg2, arg3)
- ส่วนของโค้ดที่ต้องการให้ฟังก์ชั่นทำงานจะอยู่ในบล็อกด้านใน
function_name
return
เป็นคำสั่งที่ใช้สำหรับส่งค่าผลลัพธ์กลับมาจากฟังก์ชั่น โดยอาจจะไม่มีหรือมีได้หลายค่า
โดยฟังก์ชั่นในภาษา Python ถูกออกแบบให้เป็นฟังก์ชั่นตัวแปร (First-Class Functions) ซึ่งหมายความว่าฟังก์ชั่นจะถูกประกาศเป็นตัวแปร เช่นเดียวกับตัวแปรปกติ และสามารถนำไปใช้เป็นอาร์กิวเมนต์ของฟังก์ชั่นอื่น ๆ ได้
ใน Python การสร้างฟังก์ชัน (Function) ทำได้ด้วยคำสำคัญ def
ตามด้วยชื่อฟังก์ชัน และคร่อมกับวงเล็บ ( )
ภายในวงเล็บสามารถระบุตัวแปร (argument) ที่ต้องการส่งให้กับฟังก์ชันได้ หลังจากนั้นจะต้องมีเครื่องหมาย :
และบรรทัดต่อมาจะเป็นส่วนของโค้ดที่อยู่ภายในฟังก์ชัน โดยการส่งค่าออกจากฟังก์ชันใช้คำสำคัญ return
ตัวอย่าง การสร้างฟังก์ชัน greeting
โดยรับชื่อผู้ใช้เป็น input argument และ return คำทักทาย "Hello, {name}!"
โดยใช้ f-string ในการรวมข้อความ
def greeting(name):
return f"Hello, {name}!"
การเรียกใช้ฟังก์ชัน greeting
สามารถทำได้ดังนี้
message = greeting("John")
print(message) # output: "Hello, John!"
ฟังก์ชันสามารถมีการระบุ default value ให้กับ input argument โดยการกำหนดค่าเริ่มต้นให้กับ input argument ในการประกาศฟังก์ชัน โค้ดตัวอย่างเพื่อสร้างฟังก์ชัน greeting
โดยรับชื่อผู้ใช้เป็น input argument แต่ถ้าไม่ระบุชื่อจะใช้ชื่อ "World"
ในการทักทาย
def greeting(name="World"):
return f"Hello, {name}!"
การเรียกใช้ฟังก์ชัน greeting
โดยไม่ระบุชื่อผู้ใช้จะได้ผลลัพธ์เป็น "Hello, World!"
message = greeting()
print(message) # output: "Hello, World!"
แต่ถ้าระบุชื่อผู้ใช้ เช่น greeting("John")
ผลลัพธ์จะเป็น `”Hello, John!”
Hello, John!