คุณอาจต้องประมวลผลฟังก์ชันสำหรับอาร์กิวเมนต์มากกว่าที่คุณระบุขณะกำหนดฟังก์ชัน อาร์กิวเมนต์เหล่านี้เรียกว่า variable-length arguments และไม่ได้ตั้งชื่อในการกำหนดฟังก์ชัน ไม่เหมือน required และ default arguments
ไวยากรณ์ (Syntax)
ไวยากรณ์สำหรับฟังก์ชันกับ non-keyword variable arguments คือ:
def functionname([formal_args,] *var_args_tuple):
"function_docstring"
function_suite
return [expression]
Asterisk (*) วางหน้าชื่อตัวแปรที่เก็บค่าของ nonkeyword variable arguments ทั้งหมด ทูเพิลนี้จะว่างเปล่าถ้าไม่มีอาร์กิวเมนต์เพิ่มเติมระบุระหว่างการเรียกฟังก์ชัน
ตัวอย่าง
#!/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)
เมื่อรันโค้ดข้างต้น จะได้ผลลัพธ์ดังนี้:
Output is: 10
Output is: 70 60 50