Let's say you have got a module like this:
myGlobal = 4
def func1():
myGlobal = 3
def func2():
print myGlobal
func1()
func2()
You might be expecting this to print 3, but instead, it prints 4. As has already been mentioned, if you add a 'global' declaration to func1(), then func2() will print 42.
def func1():
global myGlobal
myGlobal = 3
You can use the following video tutorials to clear all your doubts:-