আপনার ফাংশন ডেফিনিশনে নির্দিষ্ট করা আর্গুমেন্টের চেয়ে বেশি আর্গুমেন্ট প্রসেস করতে হতে পারে। এই আর্গুমেন্টগুলাকে ভেরিয়েবল-লেথ আর্গুমেন্ট বলা হয় এবং ফাংশন ডেফিনিশনে নেমড থাকে না, রিকোয়ায়ারড এবং ডিফল্ট আর্গুমেন্টের মতো।
সিনট্যাক্স
নন-কীওয়ার্ড ভেরিয়েবল আর্গুমেন্টসহ ফাংশনের সিনট্যাক্স:
def functionname([formal_args,] *var_args_tuple):
"function_docstring"
function_suite
return [expression]
ভেরিয়েবল নামের আগে একটি অ্যাস্ট্রিস্ক (*) থাকে যা সব নন-কীওয়ার্ড ভেরিয়েবল আর্গুমেন্টের ভ্যালু ধারণ করে। ফাংশন কলের সময় কোনো অডিশনাল আর্গুমেন্ট না থাকলে টাপলটি খালি থাকে।
উদাহরণ
#!/usr/bin/python
def printinfo(arg1, *vartuple):
"This prints a variable passed arguments"
print "Output is: "
print arg1
for var in vartuple:
print var
return
printinfo(10)
printinfo(70, 60, 50)
আউটপুট
Output is: 10 Output is: 70 60 50