Python Language
Python - Variable Scope:
Variable scope refers to the region of a program where a variable is accessible. Understanding scope is crucial for writing clean, bug-free code. In Python, there are mainly two types of variable scope: global scope and local scope.
1. Global Scope:
⤏ Variables declared outside of any function or class have global scope.
⤏ They can be accessed from anywhere within the program, including inside functions and classes.
⤏ To modify a global variable from within a function, you need to use the 'global' keyword.
# Python variable scope: Global
x = 10 # Global variable
def func():
print(x) # Accessing global variable
func() # Output: 10
10
2. Local Scope:
⤏ Variables declared within a function or a class have local scope.
⤏ They can only be accessed from within that function or class.
⤏ Variables with the same name can exist both globally and locally without affecting each other.
def func():
y = 20 # Local variable
print(y)
func() # Output: 20
# Accessing local variable outside the function will result in NameError
print(y) # NameError: name 'y' is not defined
[Error] NameError: name 'y' is not defined
However, Python also supports a concept called "enclosing scope," which comes into play with nested functions. In the case of nested functions, a variable declared in an outer function is accessible in the inner function.
# Python variable scope: Local
def outer_func():
z = 30 # Enclosing scope variable
def inner_func():
print(z) # Accessing enclosing scope variable
inner_func()
outer_func() # Output: 30
30
Note: You can also use the 'nonlocal' keyword, which allows you to modify variables in the enclosing scope from within nested functions.
nonlocal x
x = 20 # Modifying variable in the enclosing scope
What's Next?
We've now entered the finance section on this platform, where you can enhance your financial literacy.