Bạn có thể cần xử lý hàm với nhiều đối số hơn so với định nghĩa. Những đối số này gọi là variable-length arguments và không được đặt tên trong định nghĩa hàm, khác với required và default arguments.
Cú pháp
Cú pháp hàm với non-keyword variable arguments:
def functionname([formal_args,] *var_args_tuple):
"function_docstring"
function_suite
return [expression]
Dấu sao (*) đặt trước tên biến chứa giá trị của tất cả non-keyword variable arguments. Tuple này rỗng nếu không có đối số thêm khi gọi hàm.
Ví dụ
#!/usr/bin/python
# Định nghĩa hàm
def printinfo(arg1, *vartuple):
"This prints a variable passed arguments"
print "Output is: "
print arg1
for var in vartuple:
print var
return
# Gọi hàm printinfo
printinfo(10)
printinfo(70, 60, 50)
Kết quả
Khi mã chạy, kết quả:
Output is: 10 Output is: 70 60 50