การส่งหลายพารามิเตอร์เข้าไปในฟังก์ชันใน Python
สมมติว่าเรามีฟังก์ชันที่รับ พารามิเตอร์ตัวเลขหลายตัว:
def func(num1, num2):
return num1 + num2
print(func1(2, 3))
เมื่อเรียกใช้ฟังก์ชัน ตัวเลขที่กำหนดไว้ 2
และ 3 จะเข้าสู่ตัวแปร num1
และ num2 ตามลำดับ
แต่มีบางกรณีที่จำเป็นต้องส่งพารามิเตอร์
จำนวนมากเมื่อเรียกใช้ฟังก์ชัน ซึ่งจำนวน
ของพารามิเตอร์นั้นไม่ทราบล่วงหน้า ใน Python
สามารถกำหนดได้เพียงตัวแปรเดียวตอนประกาศฟังก์ชัน
ซึ่งต่อมาจะกลายเป็นทูเพิลของพารามิเตอร์ทั้งหมด
ที่ส่งผ่านเข้ามาเมื่อเรียกใช้
เพื่อทำสิ่งนี้ ให้ระบุสัญลักษณ์ *
ไว้หน้าตัวแปรนั้น ตัวแปรดังกล่าว
โดยปกติเรียกว่า args แต่สามารถ
ตั้งชื่ออื่นใดก็ได้ และเพื่อ
แสดงพารามิเตอร์ทั้งหมด จำเป็นต้องเขียน
ตัวแปรนี้ในเนื้อความของฟังก์ชัน แต่คราวนี้ไม่มี
*:
def func(*args):
return args
print(func(1, 2, 3)) # แสดงผล (1, 2, 3)
จากนั้น สามารถดำเนินการอื่นใดก็ได้ กับพารามิเตอร์ที่ได้รับ มาหาผลรวมของพวกมันกัน:
def func(*args):
return sum(args)
print(func(1, 2, 3)) # แสดงผล 6
เขียนฟังก์ชันที่รับ ชื่อผู้ใช้จำนวนไม่จำกัด เป็นพารามิเตอร์ และแสดงผล ออกทางคอนโซลในรูปแบบของทูเพิล