मुख्य कंटेंट पर जाएं
Python Variable Scope in Hindi
PYTHON PROGRAMMING 14 मिनट पढ़ें 1 बार पढ़ा गया

Python Variable Scope in Hindi

Lavkush Chakrawarti

परिचय

Variable Scope क्या है?

Variable Scope के प्रकार

1. Local Variable

Local Variable क्या है?

उदाहरण

Function के बाहर Access

कारण

Local Variable की विशेषताएँ

2. Global Variable

Global Variable क्या है?

उदाहरण

Global Variable की विशेषताएँ

Local और Global Variable का उदाहरण

कारण

global Keyword

global Keyword क्या है?

उदाहरण

global के बिना

global का उपयोग कब करें?

nonlocal Keyword

nonlocal Keyword क्या है?

उदाहरण

nonlocal का उपयोग कब करें?

Namespace क्या है?

LEGB Rule

LEGB Rule का उदाहरण

Local, Global और Enclosing Scope का उदाहरण

Practical Programs

Program 1 – Local Variable

Program 2 – Global Variable

Program 3 – global Keyword

Program 4 – nonlocal Keyword

Program 5 – LEGB Rule

Common Errors

NameError

UnboundLocalError

Best Practices

परीक्षा की दृष्टि से महत्वपूर्ण तथ्य

Frequently Asked Questions (FAQs)

प्रश्न 1. Local Variable क्या है?

प्रश्न 2. Global Variable क्या है?

प्रश्न 3. global Keyword का क्या उपयोग है?

प्रश्न 4. nonlocal Keyword कहाँ उपयोग किया जाता है?

प्रश्न 5. LEGB Rule क्या है?

Quick Revision

अगला अध्याय

 

परिचय

जब हम Python में Program लिखते हैं, तो Variables का उपयोग Data को Store करने के लिए किया जाता है। लेकिन हर Variable पूरे Program में उपलब्ध नहीं होता। कुछ Variables केवल Function के अंदर उपयोग किए जा सकते हैं, जबकि कुछ पूरे Program में उपलब्ध रहते हैं।

यही निर्धारित करता है कि कोई Variable Program के किस भाग (Area) में Access किया जा सकता है। इसे Variable Scope कहा जाता है।

यदि Variable Scope को सही ढंग से नहीं समझा जाए, तो Program में NameError जैसी समस्याएँ आ सकती हैं या एक ही नाम के Variables के कारण Confusion हो सकता है।

इस अध्याय में हम Local Variable, Global Variable, global Keyword, nonlocal Keyword, Namespace तथा LEGB Rule को विस्तार से समझेंगे।

 

Variable Scope क्या है?

Variable Scope उस क्षेत्र (Area) को कहते हैं जहाँ तक किसी Variable को Access किया जा सकता है।

सरल शब्दों में—

Variable Program के किस भाग में दिखाई देगा और कहाँ उसका उपयोग किया जा सकेगा, इसे Variable Scope कहते हैं।

 

Variable Scope के प्रकार

Python में मुख्य रूप से Variable Scope के निम्न प्रकार होते हैं—

  1. Local Scope
  2. Global Scope
  3. Enclosing Scope
  4. Built-in Scope

इन चारों को मिलाकर LEGB Rule कहा जाता है।

 

  1. Local Variable

Local Variable क्या है?

जो Variable Function के अंदर बनाया जाता है और केवल उसी Function के अंदर उपयोग किया जा सकता है, उसे Local Variable कहते हैं।

Function के बाहर उसका अस्तित्व (Existence) नहीं होता।

उदाहरण

def student():

    name = "Rahul"

    print(name)

 

student()

Output

Rahul

 

Function के बाहर Access

def student():

    name = "Rahul"

 

print(name)

Output

NameError: name 'name' is not defined

कारण

name केवल Function के अंदर उपलब्ध था।

 

Local Variable की विशेषताएँ

  • Function के अंदर बनाया जाता है।
  • केवल उसी Function में उपयोग किया जा सकता है।
  • Function समाप्त होने पर उसका Scope समाप्त हो जाता है।
  • Function के बाहर Access नहीं किया जा सकता।

 

  1. Global Variable

Global Variable क्या है?

जो Variable किसी भी Function के बाहर बनाया जाता है, उसे Global Variable कहते हैं।

इसे Program के किसी भी Function से पढ़ा (Read) जा सकता है।

उदाहरण

college = "ABC College"

 

def student():

    print(college)

 

student()

 

print(college)

Output

ABC College

ABC College

 

Global Variable की विशेषताएँ

  • Function के बाहर बनाया जाता है।
  • पूरे Program में उपलब्ध रहता है।
  • सभी Functions इसे Read कर सकते हैं।
  • आवश्यकता पड़ने पर global Keyword से Modify भी किया जा सकता है।

 

Local और Global Variable का उदाहरण

name = "Python"

 

def demo():

    name = "Java"

    print(name)

 

demo()

 

print(name)

Output

Java

Python

कारण

Function के अंदर बना name Local Variable है, जबकि बाहर वाला name Global Variable है।

 

global Keyword

global Keyword क्या है?

यदि किसी Function के अंदर Global Variable की Value बदलनी हो, तो global Keyword का उपयोग किया जाता है।

यदि global का उपयोग नहीं किया गया, तो Python उसी नाम का नया Local Variable बना देगा।

 

उदाहरण

count = 10

 

def update():

    global count

    count = 20

 

update()

 

print(count)

Output

20

 

global के बिना

count = 10

 

def update():

    count = 20

 

update()

 

print(count)

Output

10

 

global का उपयोग कब करें?

  • Global Variable की Value बदलनी हो।
  • Program में Shared Data Maintain करना हो।
  • Counter या Configuration Variables Update करने हों।

Best Practice: जहाँ तक संभव हो, Global Variables का कम उपयोग करें। बड़े Programs में अधिक Global Variables Code को समझना और Maintain करना कठिन बना सकते हैं।

 

nonlocal Keyword

nonlocal Keyword क्या है?

जब एक Function के अंदर दूसरा Function (Nested Function) बनाया जाता है, तब बाहरी Function के Variable को बदलने के लिए nonlocal Keyword का उपयोग किया जाता है।

 

उदाहरण

def outer():

    message = "Hello"

 

    def inner():

        nonlocal message

        message = "Welcome"

 

    inner()

    print(message)

 

outer()

Output

Welcome

 

nonlocal का उपयोग कब करें?

  • Nested Functions में।
  • Outer Function के Local Variable को Modify करने के लिए।

 

Namespace क्या है?

Namespace वह स्थान है जहाँ Variables, Functions और Objects के नाम Store किए जाते हैं।

Python में मुख्यतः तीन प्रकार के Namespace होते हैं—

  • Built-in Namespace
  • Global Namespace
  • Local Namespace

 

LEGB Rule

Python Variable खोजने (Name Resolution) के लिए एक निश्चित क्रम का पालन करता है, जिसे LEGB Rule कहते हैं।

L → Local

E → Enclosing

G → Global

B → Built-in

यदि Variable Local Scope में नहीं मिलता, तो Python Enclosing Scope देखता है। वहाँ भी न मिले तो Global Scope और अंत में Built-in Scope में खोजता है।

 

LEGB Rule का उदाहरण

x = "Global"

 

def outer():

    x = "Outer"

 

    def inner():

        x = "Inner"

        print(x)

 

    inner()

 

outer()

Output

Inner

यहाँ Python सबसे पहले Local Scope (inner) में x खोजता है।

 

Local, Global और Enclosing Scope का उदाहरण

x = "Global"

 

def outer():

    x = "Outer"

 

    def inner():

        print(x)

 

    inner()

 

outer()

Output

Outer

यहाँ inner() में Local Variable नहीं है, इसलिए Python Enclosing Scope का x उपयोग करता है।

 

Practical Programs

Program 1 – Local Variable

def square():

    number = 5

    print(number * number)

 

square()

 

Program 2 – Global Variable

message = "Python"

 

def display():

    print(message)

 

display()

 

Program 3 – global Keyword

total = 0

 

def update():

    global total

    total = 100

 

update()

 

print(total)

 

Program 4 – nonlocal Keyword

def outer():

    value = 10

 

    def inner():

        nonlocal value

        value = 20

 

    inner()

 

    print(value)

 

outer()

 

Program 5 – LEGB Rule

name = "Global"

 

def outer():

    name = "Outer"

 

    def inner():

        print(name)

 

    inner()

 

outer()

 

Common Errors

NameError

def demo():

    x = 10

 

print(x)

Error

NameError: name 'x' is not defined

 

UnboundLocalError

count = 10

 

def demo():

    count = count + 1

    print(count)

 

demo()

यह Error इसलिए आता है क्योंकि Python count को Local Variable मान लेता है, लेकिन उसका उपयोग Value Assign होने से पहले हो रहा है।

 

Best Practices

  • जहाँ संभव हो Local Variables का उपयोग करें।
  • Global Variables का सीमित उपयोग करें।
  • Nested Functions में nonlocal केवल आवश्यकता होने पर ही उपयोग करें।
  • Meaningful Variable Names रखें।
  • Variable Scope को स्पष्ट रखें ताकि Code पढ़ना और Debug करना आसान हो।

 

परीक्षा की दृष्टि से महत्वपूर्ण तथ्य

  • Function के अंदर बना Variable Local Variable कहलाता है।
  • Function के बाहर बना Variable Global Variable कहलाता है।
  • Global Variable को Modify करने के लिए global Keyword का उपयोग किया जाता है।
  • Outer Function के Variable को Modify करने के लिए nonlocal Keyword का उपयोग किया जाता है।
  • Python Variable खोजने के लिए LEGB Rule का पालन करता है।
  • LEGB का अर्थ है Local → Enclosing → Global → Built-in

 

Frequently Asked Questions (FAQs)

प्रश्न 1. Local Variable क्या है?

जो Variable Function के अंदर बनाया जाता है और केवल उसी Function में उपयोग किया जा सकता है।

प्रश्न 2. Global Variable क्या है?

जो Variable Function के बाहर बनाया जाता है और पूरे Program में उपलब्ध रहता है।

प्रश्न 3. global Keyword का क्या उपयोग है?

Function के अंदर Global Variable की Value बदलने के लिए।

प्रश्न 4. nonlocal Keyword कहाँ उपयोग किया जाता है?

Nested Functions में Outer Function के Variable को Modify करने के लिए।

प्रश्न 5. LEGB Rule क्या है?

Python Variables को खोजने का क्रम—Local → Enclosing → Global → Built-in

 

Quick Revision

  • Local Variable → केवल Function के अंदर
  • Global Variable → पूरे Program में उपलब्ध
  • global → Global Variable Modify करने के लिए
  • nonlocal → Outer Function का Variable Modify करने के लिए
  • Namespace → Variables और Functions के नामों का संग्रह
  • LEGB Rule → Local → Enclosing → Global → Built-in

 

अगला अध्याय

Python Lambda Function in Hindi – Anonymous Function, lambda Keyword, Syntax, Single Expression, map(), filter(), reduce(), Sorting, Practical Programs और Interview Questions। यह Functional Programming का महत्वपूर्ण विषय है।

 

निष्कर्ष (Conclusion)

Python Variable Scope की पूरी जानकारी हिंदी में। Local Variable, Global Variable, global Keyword, nonlocal Keyword, LEGB Rule, Namespace, Scope Resolution, Examples और Practical Programs सीखें।