Default Parameter หรือ พารามิเตอร์แบบมีค่าดีฟอลต์ คือการกำหนดค่าล่วงหน้าหรือค่าดีฟอลต์ให้กับมัน แทนที่เราต้องระบุค่าเดิมๆ ทุกครั้งที่เรียกฟังก์ชัน ซึ่งเราเรียกลักษณะดังกล่าวนี้ว่า Default Parameter โดยมีหลักการสำคัญ คือ พารามิเตอร์ตัวใดที่มีค่าดีฟอลต์ ให้กำหนดรูปแบบ ชื่อพารามิเตอร์=ค่าดีฟอลต์ หากในฟังก์ชันเดียวกัน มีทั้งพารามิเตอร์แบบมีค่าดีฟอลต์ และไม่มีค่าดีฟอลต์ ต้องจัดลำดับให้ตัวที่ไม่มีค่าดีฟอลต์อยู่ก่อนเสมอ ซึ่งเราได้พูดถึงกันไปแล้วในหัวข้อ Positional Argument ลำดับของอาร์กิวเมนต์ในไพทอน และเมื่อเรียกใช้ฟังก์ชัน หากจะใช้ค่าที่ตรงกับค่าดีฟอลต์ ก็ไม่จำเป็นที่จะต้องระบุค่าอาร์กิวเมนต์ลงไป ซึ่งในบทความนี้เราจะมาพูดถึงพารามิเตอร์แบบมีค่าดีฟอลต์ ในภาษาไพทอนกัน
Parameter (พารามิเตอร์) คือข้อมูลที่รับจากภายนอกเข้ามาใช้งานฟังก์ชันต่างๆ โดยฟังก์ชันจะประมวลผลไปตามพารามิเตอร์ที่ได้รับมา ซึ่งผลลัพธ์ที่ได้ก็จะแปรเปลี่ยนไปตามค่าของพารามิเตอร์ที่ส่งเข้ามานั่นเอง ดังนั้นพารามิเตอร์จึงช่วยให้ฟังก์ชันต่างๆทำงานได้อย่างหลากหลาย
Default Parameter
ถ้าพารามิเตอร์ตัวใดของฟังก์ชัน ที่เรามักกำหนดค่าใดค่าหนึ่งให้กับมันเป็นส่วนใหญ่ แทนที่เราจะต้องระบุค่าเดิมๆ ทุกครั้งที่เรียกใช้งานฟังก์ชันเหล่านั้น เราสามารถกำหนดให้เป็นค่าล่วงหน้าหรือค่า ดีฟอลต์ได้ ตัวอย่างเช่น
def net_pay(quantity, price, vat = 7):
return (quantity * price * (1 + vat/100) )
a = net_pay(10,100) #ใช้ค่าดีฟอลต์ คือ vat = 7
b = net_pay(10,100,7.5) #หากต้องการใช้ค่าอื่น ก็ให้ระบุตามปกติ
c = net_pay(price=10, quantity=100, vat=10)
ผลลัพธ์
สิ่งที่สำคัญอีกหนึ่งสิ่งก็คือ ลำดับของพารามิเตอร์ หากในฟังก์ชันเดียวกัน มีทั้งพารามิเตอร์แบบมีค่าดีฟอลต์ และไม่มีค่าดีฟอลต์ ต้องจัดลำดับให้ตัวที่ไม่มีค่าดีฟอลต์อยู่ก่อนเสมอ
def net_pay(vat = 7,quantity, price): #Error ต้องให้ตัวไม่มีค่าดีฟอลต์อยู่ก่อนเสมอ
ผลลัพธ์
เพียงเท่านี้เราก็สามารถกำหนดค่าเริ่มต้นหรือค่าดีฟอลต์ให้กับพารามิเตอร์ล่วงหน้าได้แล้ว ทำให้เราไม่จำเป็นต้องระบุค่าเดิมๆ ซ้ำไปมาหลายรอบทุกครั้งที่เรียกใช้งานฟังก์ชัน ซึ่งเราเรียกลักษณะการทำงานนี้ว่า Default Parameter นั่นเอง
ช่องทางการศึกษาเพิ่มเติมเกี่ยวกับ : Python
Positional Argument ลำดับของอาร์กิวเมนต์ในไพทอน
ลำดับความสำคัญของตัวดำเนินการใน Python operator Precedence
การกำหนดค่าให้ตัวแปร ชนิดต่างๆ ใน ไพทอน Assignment variable ยกเลิกตัวแปร
การสร้างฟังก์ชั่น ในไพทอน Python function Variable-length arguments
การสร้างฟังก์ชั่น ในไพทอน Python Defining function โดยมี Keyword Arguments