*args and **kwargs in Python
🔍 What are *args and **kwargs in Python?
In Python, *args and **kwargs allow you to pass a variable number of arguments to a function.
-
👉
*args→ accepts multiple positional arguments -
👉
**kwargs→ accepts multiple keyword arguments
✨ Why Use *args and **kwargs?
- ✅ Makes functions flexible
- ✅ Handles unknown number of inputs
- ✅ Useful in real-world applications
- ✅ Reduces code repetition
🧠 Understanding *args (Non-keyword Arguments)
*args allows a function to accept any number of positional arguments.
📌 Example:
def add_numbers(*args):
total = 0
for num in args:
total += num
return total
print(add_numbers(1, 2, 3, 4))
👉 Output:
10
🔍 How *args Works
-
*argscollects arguments into a tuple - You can loop through it like a list
def show_args(*args):
print(args)
show_args(10, 20, 30)
👉 Output:
(10, 20, 30)
🧠 Understanding **kwargs (Keyword Arguments)
**kwargs allows a function to accept any number of keyword arguments.
📌 Example:
def display_info(**kwargs):
for key, value in kwargs.items():
print(key, ":", value)
display_info(name="Prathima", age=22)
👉 Output:
name : Prathima
age : 22
🔍 How **kwargs Works
-
**kwargscollects arguments into a dictionary - Keys = parameter names, Values = parameter values
🔄 Using *args and **kwargs Together
def demo(*args, **kwargs):
print("Args:", args)
print("Kwargs:", kwargs)
demo(1, 2, 3, name="Python", level="Beginner")
👉 Output:
Args: (1, 2, 3)
Kwargs: {'name': 'Python', 'level': 'Beginner'}
⚠️ Order of Parameters
When using all types together, follow this order:
def function_name(normal, *args, **kwargs):
pass
🚀 Real-World Example
def student_details(*args, **kwargs):
print("Subjects:", args)
print("Details:", kwargs)
student_details("Math", "Science", name="Ravi", grade="A")
📦 Advantages
- ✔ Flexible function definitions
- ✔ Clean and readable code
- ✔ Useful in APIs and frameworks
- ✔ Supports dynamic arguments
📝 Conclusion
Understanding *args and **kwargs in Python is essential for writing flexible and scalable functions. These concepts are widely used in advanced Python programming, including frameworks and libraries.
🔑 SEO Keywords
*args and **kwargs in Python, Python variable arguments, Python functions tutorial, Python keyword arguments, Python programming basics, Python advanced functions
0 Comments