Python : Scope

In Python, the scope refers to the visibility and accessibility of variables, functions, and other identifiers within a program. Python follows the LEGB rule to determine the order in which it searches for names in various scopes. Here's an overview of the different scopes in Python:

Local Scope (L):


Local scope refers to the innermost scope, typically within a function or method. Variables defined within a function are local to that function and cannot be accessed outside of it.


def my_function():
    x = 10  # Local variable
    print(x)

my_function()  # Output: 10
print(x)  # Error: NameError: name 'x' is not defined

 

Enclosing Scope (E):


Enclosing scope refers to the scope of the enclosing function, in case of nested functions. Inner functions can access variables defined in the outer function's scope.


def outer_function():
    x = 10
    def inner_function():
        print(x)  # Accessing variable from enclosing scope
    inner_function()

outer_function()  # Output: 10
 

Global Scope (G):


Global scope refers to the top-level scope of the module or script. Variables defined at the top-level of a module are in the global scope and can be accessed from anywhere within the module.


x = 10  # Global variable

def my_function():
    print(x)  # Accessing global variable

my_function()  # Output: 10
 

Built-in Scope (B):


Built-in scope refers to the built-in namespace provided by Python, which contains built-in functions, exceptions, and constants.


print(len([1, 2, 3]))  # Output: 3
print(max(4, 7, 2))    # Output: 7

 

LEGB Rule:


Python follows the LEGB rule to resolve names in nested scopes:

  • Local (L): Names defined within the current function or lambda.
  • Enclosing (E): Names defined in the local scope of any enclosing functions, from inner to outer.
  • Global (G): Names defined at the top-level of a module or declared global inside a function.
  • Built-in (B): Names provided by the built-in namespace.

Modifying Global Variables:


To modify a global variable from within a function, you need to use the `global` keyword to declare the variable as global.


x = 10

def modify_global():
    global x
    x = 20

modify_global()
print(x)  # Output: 20

 

Understanding the scope of variables is crucial for writing correct and maintainable Python code. It helps prevent naming conflicts, improves code readability, and ensures that variables are accessible where needed.

AI car modification · buy quality backlinks · guest post service · link building service · link building service · buy backlinks · SEO, GEO, AEO, AIO and LLMO · Bedeutung von Backlinks für Google · winandoffice · aiswapface photo face swap · dofollow backlinks · link building service · guest post service · quality backlinks · guest post service · dofollow backlinks · link building service · dofollow backlinks · buy backlinks · buy quality backlinks · dofollow backlinks · dofollow backlinks · link building service · hacklink satın al · Contextual backlinks: judge the paragraph and destination together · hacklink · hacklink satın al · hacklink panel satın al · jojobet · hacklink satın al · jojobet · jojobet · jojobet · jojobet · jojobet · jojobet · jojobet · jojobet · jojobet · jojobet · jojobet giriş · jojobet güncel · jojobet · jojobet · jojobet · jojobet