Keyword Arguments in Python in Hindi – Keyword Arguments क्या होते हैं?

Arpit Nageshwar
⏰ 3 min read

Keyword Arguments in Python in Hindi – Keyword Arguments क्या होते हैं?

Table of Contents

1. Introduction to Keyword Arguments in Python in Hindi

Keyword Argument का मतलब है कि function को call करते समय हम value के साथ-साथ parameter का नाम भी लिखते हैं। इससे Python को पता चल जाता है कि कौन सी value किस parameter में जानी है, चाहे आप उन्हें किसी भी order में क्यों न लिखें।

सामान्य तौर पर जब हम function call करते हैं तो values को उसी order में लिखना पड़ता है जिस order में function define हुआ है। इसे positional argument कहते हैं। लेकिन Keyword Argument में यह पाबंदी नहीं होती, क्योंकि हम हर value के आगे parameter का नाम लिख देते हैं।

def student_info(name, age, course):
    print(f"Name: {name}, Age: {age}, Course: {course}")

# Keyword arguments की मदद से call करना
student_info(age=21, name="Rohit", course="Python")

ऊपर दिए गए example में देखिए कि हमने values को उस order में नहीं लिखा जिस order में function define हुआ था, फिर भी output बिल्कुल सही आएगा, क्योंकि हमने हर value के साथ parameter का नाम भी mention किया है।

Positional Argument student_info("Rohit", 21, "Python") Order fix होना जरूरी है Keyword Argument student_info(age=21, name="Rohit", course="Python") Result: दोनों तरीकों से output बिल्कुल same आएगा

यह SVG दिखा रहा है कि Positional और Keyword Argument में value pass करने का तरीका अलग है, लेकिन दोनों से मिलने वाला result एक जैसा ही होता है।

2. Named Parameters का Use कैसे करें

Named Parameters का सीधा मतलब है parameter का नाम लेकर उसे value assign करना। जब function में parameters ज्यादा हों, तो Named Parameters का use करना बहुत helpful होता है, क्योंकि इससे code पढ़ने वाले को तुरंत समझ आ जाता है कि कौन सी value किस चीज़ के लिए है।

Named Parameters use करने का syntax बहुत simple है — बस parameter का नाम लिखो, फिर equal to (=) sign लगाओ, और उसके बाद value दे दो।

def book_order(book_name, quantity, price):
    total = quantity * price
    print(f"{book_name} की {quantity} copies का total price: {total}")

# Named parameters से call करना
book_order(book_name="Python Basics", price=250, quantity=3)

यहाँ पर हमने तीनों values को अलग-अलग order में लिखा है, फिर भी Python को कोई confusion नहीं होगी, क्योंकि हर value के साथ parameter का नाम clearly mention किया गया है। यही Named Parameters की सबसे बड़ी खासियत है।

एक जरूरी बात यह भी याद रखें कि अगर आप एक ही function call में positional और keyword arguments दोनों use कर रहे हैं, तो positional arguments हमेशा पहले आने चाहिए, उसके बाद ही keyword arguments लिखे जा सकते हैं।

# सही तरीका
book_order("Python Basics", quantity=3, price=250)

# गलत तरीका - Error आएगा
book_order(book_name="Python Basics", 3, 250)

3. Benefits of Keyword Arguments in Hindi

  • 1. Code readable बनता है:
    जब parameter का नाम साथ में लिखा होता है, तो कोई भी व्यक्ति code पढ़कर आसानी से समझ सकता है कि कौन सी value किसलिए दी गई है।

  • 2. Order की टेंशन नहीं रहती:
    Keyword Arguments में values को किसी भी order में लिखा जा सकता है, इससे गलती होने के chances कम हो जाते हैं।

  • 3. Default values के साथ आसानी:
    अगर function में कुछ parameters की default value पहले से set है, तो जरूरत के हिसाब से सिर्फ जरूरी parameter की value keyword की मदद से दी जा सकती है।

  • 4. Function calls में flexibility मिलती है:
    जब function में बहुत सारे parameters हों, तो keyword arguments से हम सिर्फ जरूरी parameters की values दे सकते हैं, बाकी को उनकी default value पर छोड़ सकते हैं।

  • 5. Mistakes कम होती हैं:
    बड़े projects में जहाँ function में कई parameters होते हैं, वहाँ positional order याद रखना मुश्किल हो जाता है। keyword arguments इस समस्या को दूर कर देते हैं।

4. Examples of Keyword Arguments in Python in Hindi

अब कुछ practical examples देखते हैं जो exam की तैयारी और real coding, दोनों के लिए काम आएंगे।

Example 1: Default value के साथ Keyword Argument

def greet(name, message="नमस्ते"):
    print(f"{message}, {name}!")

greet(name="Anjali")
greet(name="Suresh", message="Good Morning")

यहाँ पहले call में message की default value use हुई, जबकि दूसरे call में हमने खुद अपनी value keyword के जरिए दे दी।

Example 2: Positional और Keyword Arguments को मिलाकर use करना

def calculate_area(length, width=10):
    return length * width

print(calculate_area(5, width=4))
print(calculate_area(5))

इस example में length को positional तरीके से दिया गया है, जबकि width को जरूरत पड़ने पर keyword argument से बदला जा सकता है, वरना default value ही use होगी।

Example 3: **kwargs की मदद से multiple Keyword Arguments लेना

def student_marks(**kwargs):
    for subject, marks in kwargs.items():
        print(f"{subject}: {marks}")

student_marks(Maths=90, Science=85, English=88)

**kwargs का use तब किया जाता है जब हमें पता ना हो कि कितने keyword arguments आने वाले हैं। यह सभी values को एक dictionary के रूप में collect कर लेता है, जिससे हम loop चलाकर हर value को आसानी से access कर सकते हैं।

Function Call: student_marks(Maths=90, Science=85, English=88) **kwargs एक Dictionary बनाता है: Maths Value: 90 Science Value: 85 English Value: 88

यह SVG दिखा रहा है कि जब हम function में **kwargs का use करते हैं, तो सारे keyword arguments एक dictionary के रूप में store होकर subject और marks की जोड़ी में मिलते हैं।

Example 4: Order बदलने पर भी सही output

def show_profile(city, name, hobby):
    print(f"{name} {city} में रहता है और उसे {hobby} पसंद है।")

show_profile(hobby="Reading", name="Karan", city="Delhi")

ऊपर दिए गए example में values का order function definition से बिल्कुल अलग है, फिर भी output सही आएगा क्योंकि हर value के साथ parameter का नाम keyword के रूप में दिया गया है। यही Keyword Arguments की सबसे बड़ी ताकत है।

FAQs

Keyword Arguments वो arguments होते हैं जिन्हें function call करते समय parameter के नाम के साथ pass किया जाता है, जैसे name="Rohit". इससे values का order कोई मायने नहीं रखता।
असल में दोनों एक ही concept हैं। Named Parameter function definition में parameter का नाम होता है, और जब हम उसी नाम से function call में value देते हैं तो उसे Keyword Argument कहा जाता है।
Keyword Arguments से code readable बनता है, order की टेंशन खत्म हो जाती है, default values के साथ flexibility मिलती है और गलती होने के chances कम हो जाते हैं।
हाँ, बिल्कुल use कर सकते हैं, लेकिन एक rule है — positional arguments हमेशा keyword arguments से पहले लिखने होते हैं, वरना Python error दे देगा।
Arpit Nageshwar

✍️ Arpit Nageshwar

Post-graduated | Web Developer | +3 yr Experience | IIT Kharagpur Certified