8.4.2 - The global Keyword
Enroll to start learning
You’ve not yet enrolled in this course. Please enroll for free to listen to audio lessons, classroom podcasts and take practice test.
Interactive Audio Lesson
Listen to a student-teacher conversation explaining the topic in a relatable way.
Understanding Global Variables
🔒 Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
Today, class, we're discussing global variables. Can anyone tell me what a global variable is?
Isn't a global variable a variable defined outside of functions that can be used anywhere in the code?
Exactly! Global variables are accessible throughout your code, but if we want to change them inside a function, we need to use the `global` keyword. Who can explain what happens without it?
If we don't use `global`, the function will think we're trying to create a new local variable.
Correct! And remember, the acronym 'GLOBE' can help us remember that Global variables can be accessed Locally only with the `global` keyword and that they are dynamic objects.
So, how do we use the `global` keyword in our functions?
Let’s look at a simple example to clarify this.
Using the Global Keyword
🔒 Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
Here’s a quick example. Let's say we have a variable `x` set to 10. If we want to change it inside a function, we would write: `global x; x = 20`. Can anyone write a small program using this concept?
"Sure! I’ll write:
Potential Pitfalls
🔒 Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
Now let’s talk about the potential pitfalls of using global variables. Why do you think they might be risky?
They can make the code harder to debug, right?
Yes! They can introduce side effects that are hard to track. Can someone give an example?
If multiple functions modify the same global variable, it can lead to unexpected outcomes depending on the order they’re called.
Exactly! As a rule of thumb, limit global variable usage to situations where absolutely necessary. Always ask if there's a way to pass variables as parameters instead. Let’s reinforce our learning with a quick recap.
Introduction & Overview
Read summaries of the section's main ideas at different levels of detail.
Quick Overview
Standard
The global keyword enables functions to modify variables that are defined outside their scope, allowing the functions to access and update global variables. Understanding this concept is crucial for managing variable scope effectively.
Detailed
The Global Keyword in Python
In Python, scopes determine the accessibility of variables throughout the program. Aside from local variables that are accessible only within their function, Python also allows the use of global variables, which can be accessed from anywhere, including inside functions. When we want to modify a global variable within a function, we need to use the global keyword.
Key Concepts
- Global Variables: Variables declared outside of all functions are global and can be accessed anywhere within the script.
- Using
globalKeyword: When you declare a variable as global inside a function using theglobalkeyword, you tell Python that you want to reference the globally scoped variable instead of creating a new local variable. This allows you to perform operations on the global variable directly.
Example:
In this example, the function modify() uses the global keyword to modify the global variable x, changing its value from 10 to 20. Without declaring x as global, the function would attempt to create a local variable x instead, leaving the global variable unchanged.
Thus, mastering the global keyword is essential for understanding variable scope and lifetime in Python functions and for effectively modifying global state when necessary.
Youtube Videos
Audio Book
Dive deep into the subject with an immersive audiobook experience.
Introduction to the Global Keyword
Chapter 1 of 2
🔒 Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
To modify a global variable inside a function.
Detailed Explanation
In Python, by default, when you try to assign a value to a variable that is defined outside of a function, Python will treat that variable as a local variable. To modify a variable that exists outside the function's scope, you need to use the global keyword. This tells Python that you want to use the global version of the variable instead of creating a new local one inside the function.
Examples & Analogies
Think of a global variable as a big box in a room (the global scope) that everyone in the room can see and use. If a child (the function) goes to the box and sees a toy (the variable), they can play with it. But if they just try to put away a toy that is already in the box, they might not be able to if they don't specify that they are using the box. Using the global keyword is like saying, 'I'm going to put the toy back in the big box we all can use!'
Example of Using the Global Keyword
Chapter 2 of 2
🔒 Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
x = 10
def modify():
global x
x = 20
modify()
print(x) # Output: 20
Detailed Explanation
In the provided code example, a variable x is defined globally with a value of 10. The function modify() uses the global keyword to indicate that it is referring to the global variable x, not creating a new local one. Inside the function, x is modified to 20. When modify() is called, it changes the value of global x. Thus, when we print x after calling the function, it outputs 20.
Examples & Analogies
Imagine there is a community board (the global variable) where everyone can post messages. If someone wants to change a message on the board (modify the global variable), they need permission to do so (use the global keyword). In our example, by saying global x, we are given permission to write over the existing message, changing it from '10' to '20.'
Key Concepts
-
Global Variables: Variables declared outside of all functions are global and can be accessed anywhere within the script.
-
Using
globalKeyword: When you declare a variable as global inside a function using theglobalkeyword, you tell Python that you want to reference the globally scoped variable instead of creating a new local variable. This allows you to perform operations on the global variable directly. -
Example:
-
x = 10
-
def modify():
-
global x
-
x = 20
-
modify()
-
print(x) # Output: 20
-
In this example, the function
modify()uses theglobalkeyword to modify the global variablex, changing its value from 10 to 20. Without declaringxas global, the function would attempt to create a local variablexinstead, leaving the global variable unchanged. -
Thus, mastering the
globalkeyword is essential for understanding variable scope and lifetime in Python functions and for effectively modifying global state when necessary.
Examples & Applications
Example of a global variable: x = 10 that can be accessed everywhere in the script.
Function example: def modify(): global x; x = 20 changes the global variable x inside a function.
Memory Aids
Interactive tools to help you remember key concepts
Rhymes
If you want to change a global state, use global before it's too late!
Stories
Imagine a pirate named Captain Global, who carried a treasure map (the variable). Everyone in the crew (functions) wants to find the treasure, but only if they mention Captain Global can they change the map!
Memory Tools
Remember: G for Global, L for Local; use the Global keyword to keep things pivotal!
Acronyms
GLOBE
Global variables Are Required to Outsmart Local Variable Errors.
Flash Cards
Glossary
- Global Variable
A variable that is declared outside all functions and can be accessed and modified anywhere in the code.
- Local Variable
A variable that is declared within a function and can only be accessed within that function.
- global Keyword
A keyword in Python that allows a function to modify a global variable.
Reference links
Supplementary resources to enhance your learning experience.