सामग्री पर जाएं
Python अपवादएरर
UnboundLocalError

UnboundLocalError

किसी local variable को assign होने से पहले पढ़ा गया।

python

इस एरर के कारण

आपने एक ही फ़ंक्शन में किसी वेरिएबल को मान देने से पहले उसे पढ़ लिया। Python असाइनमेंट देखकर उस वेरिएबल को पूरे फ़ंक्शन में लोकल मान लेता है, इसलिए असाइनमेंट से पहले पढ़ने पर त्रुटि आती है। ऐसा अक्सर तब होता है जब global कीवर्ड के बिना किसी ग्लोबल वेरिएबल को बदलने की कोशिश की जाती है।

इसे कैसे ठीक करें

ग्लोबल वेरिएबल का उपयोग करने के लिए global कीवर्ड लगाएँ: global x। बाहरी स्कोप के वेरिएबल के लिए nonlocal का उपयोग करें। कोड का ढांचा ऐसा बदलें कि वेरिएबल को पढ़ने से पहले मान दिया जाए। या मान को फ़ंक्शन के पैरामीटर के रूप में भेजें।

उदाहरण

x = 10
def f(): print(x); x = 20
f()  # UnboundLocalError
आधिकारिक दस्तावेज़

संबंधित एरर कोड