คุณอาจต้องประมวลผลฟังก์ชันเพื่อหาอาร์กิวเมนต์มากกว่าที่คุณระบุขณะกำหนดฟังก์ชัน อาร์กิวเมนต์เหล่านี้เรียกว่าอาร์กิวเมนต์ความยาวผันแปรได้และไม่ได้ตั้งชื่อไว้ในนิยามฟังก์ชัน ซึ่งต่างจากอาร์กิวเมนต์ที่ต้องการและค่าเริ่มต้น
ไวยากรณ์
ไวยากรณ์สำหรับฟังก์ชันที่มีอาร์กิวเมนต์ตัวแปรที่ไม่ใช่คีย์เวิร์ดคือสิ่งนี้ −
def functionname([formal_args,] *var_args_tuple ): "function_docstring" function_suite return [expression]
เครื่องหมายดอกจัน (*) ถูกวางไว้หน้าชื่อตัวแปรที่เก็บค่าของอาร์กิวเมนต์ตัวแปรที่ไม่ใช่คีย์เวิร์ดทั้งหมด ทูเพิลนี้ยังคงว่างเปล่าหากไม่มีการระบุอาร์กิวเมนต์เพิ่มเติมในระหว่างการเรียกใช้ฟังก์ชัน
ตัวอย่าง
#!/usr/bin/python # Function definition is here def printinfo( arg1, *vartuple ): "This prints a variable passed arguments" print "Output is: " print arg1 for var in vartuple: print var return; # Now you can call printinfo function printinfo( 10 ) printinfo( 70, 60, 50 )
ผลลัพธ์
เมื่อโค้ดด้านบนถูกรัน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
Output is: 10 Output is: 70 60 50