[Python From Zero To Hero]: Ep.1 What is args ?
สวัสดีค่ะ วันนี้ STACKPYTHON ขอเสนออีกหนึ่งซีรี่แก่ทุกท่าน นั่นคือ Python From Zero To Hero ซีรี่นี้ถูกสร้างมาสำหรับทุกคนๆเลย และสำหรับเพื่อนๆที่พึ่งเริ่มศึกษาการเขียน code ไม่ต้องกลัวว่าจะยากเกินไปเลย คุณสามารถเข้าใจและนำไปใช้ได้เช่นกันค่ะ โดยวันนี้จะกล่าวถึง Args ว่าแต่มันคืออะไรกันนะ?
ก่อนอื่นเรามา recap เรื่อง function กันก่อนดีกว่า
function ถูกสร้างมาเพื่ออำนวยความสะดวกผู้เขียน code เนื่ิองจากบางคำสั่งต้องนำกลับมาใช้เรื่อยๆ บ่อยครั้ง หากต้องเขียนใหม่ทุกครั้งคงเสียเวลาน่าดู
ขอยกตัวอย่างมา 1 function ง่ายๆ (ผู้เขียนใช้ Jupyter Notebook)
จำนวน parameter ที่ประกาศไว้ในฟังก์ชั่น กับ จำนวน argument ที่ใส่ค่าตอน call function ต้องมีค่าเท่ากัน code ถึงจะรันได้
a = 40 และ b= 60
ผลลัพธ์เท่ากับ 5
เมื่อไหร่ก็ตามที่จำนวน argument ไม่เท่ากับ parameter จะเกิด Error ดังภาพ
เมื่อใส่ค่า argument ไป 3 ค่า แต่ใน function มี parameter รองรับแค่ 2 ค่า จึงเกิดปัญหาตามมา ถ้าเราอยากมี parameter หลายตัวในฟังก์ชัน เราก็ต้องพิมพ์กำหนดตัวแปรเองไปเรื่อยๆหรอ? สมมติ parameterใน function มี 50 ตัว กว่าจะพิมพ์ครบใช้เวลาไปเท่าไหร่ เสียเวลามากขนาดไหนเนี่ย? เพื่อปิด pain-point ดังกล่าวจึงเกิด Args ขึ้นมา
Args ทำให้เราใส่ argument กี่ตัวก็ได้ โดยที่ไม่ต้องกำหนด parameter ใน function
แทนที่จะกำหนด parameter เป็น a,b เหมือน function ตัวอย่าง เราสามารถใส่ *args แทน parameter ได้เลย
เมื่อ call function แล้ว จะใส่ค่า argument กี่ค่าก็ได้ ตามใจตัวเองได้เลย โดยที่ไม่ต้องมากำหนด parameter a,b,c,d… ทีละตัว!
ใจความสำคัญของ args อยู่ที่ตัว asterisk หรือเครื่องหมายคูณ (*) เลยค่ะ จริงๆแล้วเนี่ย ถ้าเรามี * แล้ว ชื่อข้างหลังเป็นอะไรก็ได้ สุดท้ายก็รันได้อยู่ดี ถ้าเพื่อนๆลองเปลี่ยนจาก *args เป็น *abc หรือ *banana สุดท้ายแล้วโปรแกรมก็ยังรันได้เหมือนเดิม! อย่าลืมไปลองกันดูน้า
จบกันไปแล้วสำหรับ Ep แรกของ Series Python From Zero To Hero ทางผู้เขียนยินดีน้อมรับคำแนะนำ ข้อติชมจากผู้อ่านทุกท่านเสมอ เพราะการเรียนรู้ไม่มีวันสิ้นสุด มาเรียนรู้ไปพร้อมๆกันนะคะ เจอกันใหม่บทความหน้าค่ะ See ya! :)