การสร้างฟังก์ชั่นโดยมี Variable-length arguments ประโยชน์ของการสร้างฟังก์ชั่นแบบนี้คือเราสามารถกำหนด arguments ตอนเรียกใช้งานฟังก์ชั่นกี่ตัวก็ได้ โดยตอนสร้างไม่ต้องระบบว่าจะกำหนด arguments กี่ตัว แต่จะกำหนดไว้เป็น variable-length arguments ซึ่งไม่จำเป็นต้องกำหนด default arguments.ไว้
รูปแบบการสร้างฟังก์ชั่นที่มี Variable-length arguments:
def functionname([formal_args,] *var_args_tuple ):
"function_docstring"
function_suite
return [expression]จากรูปแบบ จะใช้ เครื่องหมาย * วางไว้ข้างหน้า arguments ที่ต้องการกำหนด เป็น Variable-length arguments
ตัวอย่าง def_function_variable-length_arg.py
# ตัวอย่าง สอน Python ในเว็บ Mindphp.com
def f_vl( arg, *vartuple ):
"This prints a variable passed arguments"
print ("Output is: ")
print ("arg: ", arg)
for v in vartuple:
print("vartuple:" , v)
f_vl( 'Mindphp.com' );
f_vl( 'Mindphp.com', 'เว็บสอนเขียนโปรแกรม', 'หัดเขียนโปรแกรม' );
ผลที่ได้
Output is:
arg: Mindphp.com
Output is:
arg: Mindphp.com
vartuple: เว็บสอนเขียนโปรแกรม
vartuple: หัดเขียนโปรแกรม
** จะเห็นว่าการสร้างฟังก์ชั่น Variable-length arguments ถ้าเทียบกับ php ก็จะคล้ายๆ กับการรับตัวแปล array ผ่านทาง arguments