>>> a=666 # global >>> def fun1(): ... print a # global ... >>> def fun2(): ... print a # privat ... a = 33 # declaration ... >>> fun1() 666 >>> fun2() Traceback (most recent call last): File "", line 1, in File "", line 2, in fun2 UnboundLocalError: local variable 'a' referenced before assignment >>>