Reading about Python? Actually practice it. Try PyChallenge free

Python Tutorial

Scope

Python hosting: PythonAnywhere — host, run and code Python in the cloud. Free tier available.

Scope Variables can only reach the area in which they are defined, which is called scope. Think of it as the area of code where variables can be used. Python supports global variables (usable in the entire program) and local variables.

By default, all variables declared in a function are local variables. To access a global variable inside a function, it's required to explicitly define 'global variable'.

Related Course:
Practice Python with interactive exercises

Example Below we'll examine the use of local variables and scope. This will not work:

#!/usr/bin/python

def f(x,y): print('You called f(x,y) with the value x = ' + str(x) + ' and y = ' + str(y)) print('x * y = ' + str(x*y)) z = 4 # cannot reach z, so THIS WON'T WORK

z = 3 f(3,2)

but this will:

#!/usr/bin/python

def f(x,y): z = 3 print('You called f(x,y) with the value x = ' + str(x) + ' and y = ' + str(y)) print('x * y = ' + str(x*y)) print(z) # can reach because variable z is defined in the function

f(3,2)

Let's examine this further:

#!/usr/bin/python

def f(x,y,z): return x+y+z # this will return the sum because all variables are passed as parameters

sum = f(3,2,1) print(sum)

Calling functions in functions We can also get the contents of a variable from another function:

#!/usr/bin/python

def highFive(): return 5

def f(x,y): z = highFive() # we get the variable contents from highFive() return x+y+z # returns x+y+z. z is reachable becaue it is defined above

result = f(3,2) print(result)

If a variable can be reached anywhere in the code is called a global variable. If a variable is known only inside the scope, we call it a local variable.

BackNext

Practice
Stop reading. Start writing Python.
PyChallenge gives you interactive exercises in your browser — no install needed.
Practice Python with interactive exercises