Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #65059
| References | <CA+DCN_tQsZDckkueO7FiVYKihy2b9=SdeALJ4RwrQN_uk0dDLQ@mail.gmail.com> |
|---|---|
| Date | 2014-01-31 09:53 +1100 |
| Subject | Re: Why this throws an UnboundLocalError ? |
| From | Chris Angelico <rosuav@gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.6173.1391122402.18130.python-list@python.org> (permalink) |
On Fri, Jan 31, 2014 at 9:46 AM, Marc Aymerich <glicerinu@gmail.com> wrote:
> GLOBAL = 0
>
> def update():
> GLOBAL += 1
If you assign to a name, Python makes it local, unless you explicitly
tell it that you want it to be global:
def update():
global GLOBAL
GLOBAL += 1
But be aware that the ALL_CAPS name conventionally means a constant.
Since you're changing its value, it's not constant (wow! :) ), so
using a name of GLOBAL is a bad idea. (Also, obviously, you want to
name it appropriately to what you're doing, but I assume you called it
this as part of cutting down your example. For which, by the way,
thank you. You posted a complete example, and the full traceback, and
the Python version and platform. That's everything that we need to
help you - it's such a luxury!!)
ChrisA
Back to comp.lang.python | Previous | Next | Find similar | Unroll thread
Re: Why this throws an UnboundLocalError ? Chris Angelico <rosuav@gmail.com> - 2014-01-31 09:53 +1100
csiph-web