freeCodeCamp/guide/arabic/python/args-variable/index.md

1.3 KiB

title localeTitle
Relationships between * and args العلاقات بين * و args

وجود * في تعريف الوظيفة

`# How does *args work in a function definition

def hardFunc(arg1, arg2): # create a tuple and pollute it with arguments passed to hardFunc args=(arg1, arg2) # print out results print(args[0]) print(args[1])

hardFunc('hard_one', 'hard_two')

output — Try it yourself now and in sequential snippets!

def softFunc(*args): # at this point after calling softFunc a tuple with a name of a word # followed by * is created automatically (in this case the name is args) # print out results print(args[0]) print(args[1])

softFunc('soft_one', 'soft_two')

Now try to do something illegal

hardFunc('one', 'two', 'three')

Now do things legally

softFunc('one', 'two', 'three')

or even

softFunc('one', 'two', 'three', 'infinity')

softFunc handles arbitrary amount of arguments easily by virtue of * syntax

So using a single variable name in conjuction with * we gained the ability

to invoke a function with arbitrary amount of arguments.

Once again when softFunc is called the newly args

tuple filled with provided arguments is created

Conclusion softFunc is a more flexible/dynamic verson of a hardFunc

`