On 5/10/2011 10:59 AM, Nick Coghlan wrote: > On Tue, May 10, 2011 at 11:11 PM, R. David Murray<rdmurray at bitdance.com> wrote: >> How about: >> >> "reference to variable 'y' precedes an assignment that makes it a local >> variable" > > For comparison, the error messages I was able to elicit from 2.7 were > as follows: > > # Module level > NameError: name 'bob' is not defined > > # Function level reference to implicit global > NameError: global name 'bob' is not defined > > # Early reference to local > UnboundLocalError: local variable 'bob' referenced before assignment I would change this to "local name 'bob' used before the assignment that makes it a local name" Calling names 'variables' is itself a point of confusion. > > # Early reference from closure > NameError: free variable 'bob' referenced before assignment in enclosing scope > > Personally, I would just add "in current scope" to the existing error > message for the unbound local case (and potentially collapse the > exception hierarchy a bit by setting UnboundLocalError = NameError). > > Cheers, > Nick. > -- Terry Jan Reedy
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4