Global And Local Variables

Global Variables

In Python, a global variable is a variable that is accessible throughout the entire program. It is defined outside of any function or class. This means its scope is the entire file, and any function can access and modify its value. You can use the global keyword inside a function to modify a global variable.

Example of a Global Variable:

Python

x = 10  # This is a global variable

def my_function():
    print(x)  # This function can access the global variable 'x'

my_function()  # Output: 10
print(x)       # Output: 10

Local Variables

A local variable is a variable defined inside a function. It is only accessible within the scope of that specific function. Once the function finishes execution, the local variable is destroyed, and its value cannot be accessed from outside the function.

Example of a Local Variable:

Python

def my_function():
    y = 20  # This is a local variable
    print(y)

my_function()  # Output: 20
# print(y)     # This will cause an error because 'y' is a local variable and is not defined outside the function

Key Differences

  • Scope: Global variables have a global scope (accessible everywhere), while local variables have a local scope (accessible only within the function they are defined in).
  • Lifetime: Global variables exist as long as the program is running. Local variables are created when the function is called and destroyed when the function completes.
  • Modification: To modify a global variable inside a function, you must use the global keyword. You do not need a special keyword to modify a local variable within its own function.

Python

# A global variable for a game score
score = 0

def add_points(points):
    # The 'global' keyword is needed to modify the global variable
    global score
    score += points

add_points(10)
print(score)  # Output: 10

Python

# A global variable
count = 0

def increment():
    # This creates a new local variable named 'count', it does NOT change the global one.
    count = 100
    print(f"Inside function, local count is: {count}")

def correct_increment():
    # This modifies the global 'count'
    global count
    count = 100
    print(f"Inside function, global count is: {count}")

increment()
print(f"Outside function, global count is: {count}") # Output: 0

correct_increment()
print(f"Outside function, global count is: {count}") # Output: 100

The globals() Function

The globals() function in Python returns a dictionary representing the current global symbol table. This table contains all the global variables, functions, and classes defined in the current module. You can use it to inspect or even modify global variables.

  • How it works: When you call globals(), it gives you a dictionary where the keys are the names of the global variables and the values are their corresponding objects.

Python

x = 10
y = "hello"

def my_func():
    pass

global_vars = globals()
print(global_vars['x'])      # Output: 10
print('y' in global_vars)    # Output: True

You can also use it to add or change global variables, but this is generally not recommended as it can make your code hard to follow.


The locals() Function

The locals() function returns a dictionary representing the current local symbol table. This table contains all the local variables in the current scope.

  • How it works: When called inside a function, locals() returns a dictionary of the variables defined within that function. When called at the top level of a module (outside any function), it returns the same dictionary as globals().

Python

def my_function():
    a = 1
    b = "world"
    local_vars = locals()
    print(local_vars['a'])      # Output: 1
    print('b' in local_vars)    # Output: True

my_function()

The dictionary returned by locals() should be treated as read-only. Modifying it might not affect the local variables themselves in some Python implementations, so it’s best to only use it for inspection.

Similar Posts

  • Bank Account Class with Minimum Balance

    Challenge Summary: Bank Account Class with Minimum Balance Objective: Create a BankAccount class that automatically assigns account numbers and enforces a minimum balance rule. 1. Custom Exception Class python class MinimumBalanceError(Exception): “””Custom exception for minimum balance violation””” pass 2. BankAccount Class Requirements Properties: Methods: __init__(self, name, initial_balance) deposit(self, amount) withdraw(self, amount) show_details(self) 3. Key Rules: 4. Testing…

  • replace(), join(), split(), rsplit(), and splitlines() methods in Python

    1. replace() Method Purpose: Replaces occurrences of a substring with another substring.Syntax: python string.replace(old, new[, count]) Examples: Example 1: Basic Replacement python text = “Hello World” new_text = text.replace(“World”, “Python”) print(new_text) # Output: “Hello Python” Example 2: Limiting Replacements (count) python text = “apple apple apple” new_text = text.replace(“apple”, “orange”, 2) print(new_text) # Output: “orange orange apple”…

  • Quantifiers (Repetition)

    Quantifiers (Repetition) in Python Regular Expressions – Detailed Explanation Basic Quantifiers 1. * – 0 or more occurrences (Greedy) Description: Matches the preceding element zero or more times Example 1: Match zero or more digits python import re text = “123 4567 89″ result = re.findall(r’\d*’, text) print(result) # [‘123’, ”, ‘4567’, ”, ’89’, ”] # Matches…

  • Python Calendar Module

    Python Calendar Module The calendar module in Python provides functions for working with calendars, including generating calendar data for specific months or years, determining weekdays, and performing various calendar-related operations. Importing the Module python import calendar Key Methods in the Calendar Module 1. calendar.month(year, month, w=2, l=1) Returns a multiline string with a calendar for the specified month….

  • What are Variables

    A program is essentially a set of instructions that tells a computer what to do. Just like a recipe guides a chef, a program guides a computer to perform specific tasks—whether it’s calculating numbers, playing a song, displaying a website, or running a game. Programs are written in programming languages like Python, Java, or C++,…

  • Date/Time Objects

    Creating and Manipulating Date/Time Objects in Python 1. Creating Date and Time Objects Creating Date Objects python from datetime import date, time, datetime # Create date objects date1 = date(2023, 12, 25) # Christmas 2023 date2 = date(2024, 1, 1) # New Year 2024 date3 = date(2023, 6, 15) # Random date print(“Date Objects:”) print(f”Christmas:…

Leave a Reply

Your email address will not be published. Required fields are marked *