Scope refers to the areas that variables are visible and accessible. Variables that can be accessed anywhere in a Python program are in the global scope. Conversely, variables that are defined within the body of structures like classes and methods exist only in the local scope.
Suppose a variable is initialized within a function. This variable can only be used within that function and not from outside the function.
def my_function():x = 200print(x)my_function()
Nested Functions and Local Scope
In the example below, a variable
x is defined within the local scope of the
outer_function() function, followed by a defined
inner_function() function. Since
inner_function() exists within the local scope of
x can be accessed and printed within
def outer_function():x = 200# Initialized in outer functiondef inner_function():print(x)inner_function()outer_function()# Output: 200
A variable initialized in the main body is defined as a global variable and can be used anywhere in the code, including nested blocks, loops, etc. This is because these variables exist in the global scope of the code.
x = 200def fun():print(x)fun()print(x)"""Output:200200"""