
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Args and Kwargs in Python
When we define a function in a python program, the purpose is to execute the code again and again by supplying different values to the function's arguments. One challenge in this design is, what if we are not sure about the number of arguments we want to process each time we call that function. This is where the special arguments called **args and **kwargs are needed. Let's look at them one by one.
*args
The *args enables us to use variable number of arguments as input to the function. In the below example we are finding out the result of multiplication of a series of numbers. The count of these numbers vary each time we call the function.
Example
def findproduct(*many_nums): result = 1 for num in many_nums: result = result * num print("Multiplication result:",result) findproduct(3,9) findproduct(2,11,10)
Output
Running the above code gives us the following result ?
Multiplication result: 3 Multiplication result: 27 Multiplication result: 2 Multiplication result: 22 Multiplication result: 220
**kwargs
Next, there are scenarios when we want to pass keyword arguments, which are basically key-value pairs as arguments to a function.
Here again, we can pass the variable number of such keyword arguments to the function. Such arguments are named as **kwargs. Please note there are two asterisks when using such arguments. In reality, such keyword arguments are passed on to the program as a python dictionary which holds a number of key-value pairs.
Example
def country_details(**state_info): print('') for k,v in state_info.items(): print("{} is {}".format(k,v)) country_details(StateName="Telangana", Capital="Hyderabad",Population=3400000) country_details(StateName="Andhra Pradesh", Capital="Amaravati",Population=1000000,ForestCoverage="30%")
Output
Running the above code gives us the following result ?
StateName is Telangana Capital is Hyderabad Population is 3400000 StateName is Andhra Pradesh Capital is Amaravati Population is 1000000 ForestCoverage is 30%