[Python-Dev] Improve error message "UnboundLocalError: local variable referenced before assignment"
R. David Murray
rdmurray at bitdance.com
Wed Oct 31 21:28:06 CET 2012
More information about the Python-Dev mailing list
Wed Oct 31 21:28:06 CET 2012
- Previous message: [Python-Dev] Improve error message "UnboundLocalError: local variable referenced before assignment"
- Next message: [Python-Dev] Improve error message "UnboundLocalError: local variable referenced before assignment"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wed, 31 Oct 2012 21:57:28 +0200, anatoly techtonik <techtonik at gmail.com> wrote: > Here is the code: > > ---[cut]----------------------------- > > DEBUG = [] > FONT_NAMES = [] > > def names(): > if len(DEBUG): > print(len(DEBUG)) > if len(FONT_NAMES): > print(len(FONT_NAMES)) > if len(FONT_NAMES)==0: > FONT_NAMES = "query()" > > names() > ---[cut]----------------------------- > > Here is the output: > > Traceback (most recent call last): > File "globalocal.py", line 13, in <module> > names() > File "globalocal.py", line 8, in names > if len(FONT_NAMES): > UnboundLocalError: local variable 'FONT_NAMES' referenced before assignment > > > As you may see there is inconsistency between handling of line 6 - > "if len(DEBUG):" and line 8 - "if len(FONT_NAMES):". This is very magical > and hard to troubleshoot. I wonder if this message can be improved with a > pointer to the concept on when global variables become local? There is no inconsistency here. Only FONT_NAMES is assigned a value in the local scope. "local variable referenced before assignment" *is* a pointer to the concept of when global variables become local...perhaps there is a better wording, do you have a suggestion? --David
- Previous message: [Python-Dev] Improve error message "UnboundLocalError: local variable referenced before assignment"
- Next message: [Python-Dev] Improve error message "UnboundLocalError: local variable referenced before assignment"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list