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)

ผลลัพธ์

ผลลัพธ์การใช้งาน default parameter
ผลลัพธ์ default parameter

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

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
การใช้ Intonation ในภาษาอังกฤษ
โดย internTk21 ส 06 เม.ย. 2024 1:46 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
171
ส 06 เม.ย. 2024 1:46 pm โดย internTk21 View Topic การใช้ Intonation ในภาษาอังกฤษ
พื้นฐานการทำ SEO ในเว็บไซต์ เส้นทางสู่การเพิ่มประสิทธิภาพในการค้นหา
โดย athirach.offcial พฤ 04 เม.ย. 2024 4:53 pm บอร์ด Share Knowledge
0
277
พฤ 04 เม.ย. 2024 4:53 pm โดย athirach.offcial View Topic พื้นฐานการทำ SEO ในเว็บไซต์ เส้นทางสู่การเพิ่มประสิทธิภาพในการค้นหา
ลักษณะการทดสอบโปรแกรมที่ไม่เหมาะกับการทดสอบอัตโนมัติ
โดย athirach.offcial พฤ 04 เม.ย. 2024 4:49 pm บอร์ด Software testing
0
297
พฤ 04 เม.ย. 2024 4:49 pm โดย athirach.offcial View Topic ลักษณะการทดสอบโปรแกรมที่ไม่เหมาะกับการทดสอบอัตโนมัติ
Tester trick ข้อควรระวังในการทดสอบโปรแกรม
โดย athirach.offcial พฤ 04 เม.ย. 2024 4:43 pm บอร์ด Software testing
0
100
พฤ 04 เม.ย. 2024 4:43 pm โดย athirach.offcial View Topic Tester trick ข้อควรระวังในการทดสอบโปรแกรม
การทดสอบและบทบาทของผู้ทดสอบโปรแกรมอัตโนมัติในปี 2024
โดย athirach.offcial พฤ 04 เม.ย. 2024 4:38 pm บอร์ด Software testing
0
89
พฤ 04 เม.ย. 2024 4:38 pm โดย athirach.offcial View Topic การทดสอบและบทบาทของผู้ทดสอบโปรแกรมอัตโนมัติในปี 2024
ตัวอย่าง Prefix และ Suffix ในภาษาอังกฤษ
โดย internTk21 พฤ 04 เม.ย. 2024 4:34 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
164
พฤ 04 เม.ย. 2024 4:34 pm โดย internTk21 View Topic ตัวอย่าง Prefix และ Suffix ในภาษาอังกฤษ
เครื่องอ่านบาร์โค้ด สามารถ สแกนกลับหัว กลับหางได้ไหม และนี่คือคำตอบจาก ChatGPT
โดย mindphp พฤ 04 เม.ย. 2024 4:23 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
107
พฤ 04 เม.ย. 2024 4:23 pm โดย mindphp View Topic เครื่องอ่านบาร์โค้ด สามารถ สแกนกลับหัว กลับหางได้ไหม และนี่คือคำตอบจาก ChatGPT
คำศัพท์ภาษาอังกฤษ Homonyms ที่พบได้ในชีวิตประจำวัน
โดย internTk21 พฤ 04 เม.ย. 2024 2:18 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
118
พฤ 04 เม.ย. 2024 2:18 pm โดย internTk21 View Topic คำศัพท์ภาษาอังกฤษ Homonyms ที่พบได้ในชีวิตประจำวัน