Course
Keyword Arguments
Python Tutorial
This Python tutorial has been written for the beginners to help them understand the basic to advanced concepts of Python Programming Language. After completing this tutorial, you will find yourself at a great level of expertise in Python, from where you can take yourself to the next levels to become a world class Software Engineer.
Keyword Arguments
Python allows to pass function arguments in the form of keywords which are also called named arguments. Variables in the function definition are used as keywords. When the function is called, you can explicitly mention the name and its value.
Example
# Function definition is heredef printinfo( name, age ): "This prints a passed info into this function" print ("Name: ", name) print ("Age ", age) return
# Now you can call printinfo function# by positional argumentsprintinfo ("Naveen", 29)
# by keyword argumentsprintinfo(name="miki", age = 30)
By default, the function assigns the values to arguments in the order of appearance. In the second function call, we have assigned the value to a specific argument
It will produce the following output
Name: NaveenAge 29Name: mikiAge 30
Let us try to understand more about keyword argument with the help of following function definition
def division(num, den): quotient = num/den print ("num:{} den:{} quotient:{}".format(num, den, quotient))
division(10,5)division(5,10)
Since the values are assigned as per the position, the output is as follows
num:10 den:5 quotient:2.0num:5 den:10 quotient:0.5
Instead ofpassing the values with positional arguments, let us call the function with keyword arguments
division(num=10, den=5)division(den=5, num=10)
It will produce the following output
num:10 den:5 quotient:2.0num:10 den:5 quotient:2.0
When using keyword arguments, it is not necessary to follow the order of formal arguments in function definition.
Using keyword arguments is optional. You can use mixed calling. You can pass values to some arguments without keywords, and for others with keyword.
division(10, den=5)
However, the positional arguments must be before the keyword arguments while using mixed calling.
Try to call the division() function with the following statement.
def division(num, den): quotient = num/den print ("num:{} den:{} quotient:{}".format(num, den, quotient))
division(num=5, 10)
As the Positional argument cannot appear after keyword arguments, Python raises the following error message
division(num=5, 10) ^SyntaxError: non-keyword arg after keyword arg
Practice with Online Editor
Note: This Python online Editor is a Python interpreter written in Rust, RustPython may not fully support all Python standard libraries and third-party libraries yet.
Remember to save code(Ctrl
+S
Or
Command
+S
) before run it.