ফাংশন সংজ্ঞায়িত করার সময় আপনার নির্দিষ্ট করার চেয়ে বেশি আর্গুমেন্টের জন্য আপনাকে একটি ফাংশন প্রক্রিয়া করতে হতে পারে। এই আর্গুমেন্টগুলিকে ভেরিয়েবল-লেন্থ আর্গুমেন্ট বলা হয় এবং প্রয়োজনীয় এবং ডিফল্ট আর্গুমেন্টের বিপরীতে ফাংশনের সংজ্ঞায় নাম দেওয়া হয় না।
সিনট্যাক্স
নন-কীওয়ার্ড ভেরিয়েবল আর্গুমেন্ট সহ একটি ফাংশনের সিনট্যাক্স হল এই −
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