I must be missing some very basic concept about Python's variable's scopes, but I couldn't figure out what.
I'm writing a simple script in which I would like to access a variable that is declared outside the scope of the function :
counter = 0
def howManyTimesAmICalled():
counter += 1
print(counter)
howManyTimesAmICalled()
Unexpectedly for me, when running I get :
UnboundLocalError: local variable 'counter' referenced before assignment
Adding a global declaration at the first line
global counter
def howManyTimesAmICalled():
counter += 1
print(counter)
howManyTimesAmICalled()
did not change the error message.
What am I doing wrong? What is the right way to do it?
Thanks!