ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

     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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
โปรแกรมทางการบัญชี โปรแกรม Express
โดย Duanghathai Termtem อ 01 ธ.ค. 2020 6:56 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
22
อ 01 ธ.ค. 2020 6:56 pm โดย Duanghathai Termtem
Flow Account คืออะไร
โดย Duanghathai Termtem อ 01 ธ.ค. 2020 5:06 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
21
อ 01 ธ.ค. 2020 5:06 pm โดย Duanghathai Termtem
การประยุกต์ใช้โปรแกรม ACL และ Microsoft Excel ช่วยในการตรวจสอบ
โดย Duanghathai Termtem อ 01 ธ.ค. 2020 3:20 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
32
อ 01 ธ.ค. 2020 3:20 pm โดย Duanghathai Termtem
แนวทางแก้ปัญหา php error Uncaught Error: Call to undefined function mysql_real_escape_string() in...
โดย mindphp อ 01 ธ.ค. 2020 2:13 am บอร์ด PHP Knowledge
0
20
อ 01 ธ.ค. 2020 2:13 am โดย mindphp
วิธีการเดินทางจากกระบี่มากรุงเทพมหานคร
โดย Duanghathai Termtem จ 30 พ.ย. 2020 3:46 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
21
จ 30 พ.ย. 2020 3:46 pm โดย Duanghathai Termtem
การใช้ Canva ช่วยการนำเสนอ
โดย Duanghathai Termtem จ 30 พ.ย. 2020 3:13 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
38
จ 30 พ.ย. 2020 3:13 pm โดย Duanghathai Termtem
ภาษี หัก ณ ที่จ่าย บน ERP
โดย milk2533 ส 28 พ.ย. 2020 4:17 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
24
ส 28 พ.ย. 2020 4:17 pm โดย milk2533
ประโยชน์ของการใช้ปุ่ม Sendmail บน ERP
โดย milk2533 ส 28 พ.ย. 2020 1:40 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
15
ส 28 พ.ย. 2020 1:40 pm โดย milk2533