# Python Global Variables Inside Functions with global Keyword

> Declare global variables inside Python functions using the global keyword, with examples showing how to create, modify, and share state across multiple functions

**URL:** https://sentry.io/answers/use-global-variables-in-python-functions/

---

## The Problem

How do I create or use a global variable inside a function? Once I've created a global variable, how do I use it in other functions?

## The Solution

Each function that uses a global variable must declare it with the [`global`](https://docs.python.org/3/reference/simple_stmts.html#the-global-statement) keyword before using it. The code below demonstrates the creation and use of a global counter variable across multiple functions.

```python
def create_counter():
    global counter
    counter = 1

def increment_counter():
    global counter
    counter += 1

def print_counter():
    global counter
    print(counter)

create_counter()
print_counter()
increment_counter()
print_counter()
increment_counter()
print_counter()
```

When executed, this code will produce the following output:

```
1
2
3
```

From this, we can tell that all three functions use the same variable.

Note that using global variables in this way can make your code difficult to reason about and debug beyond a certain scale. Global variables are generally considered bad programming practice and should be avoided where possible.

---

*Source: [sentry.io/answers/use-global-variables-in-python-functions/](https://sentry.io/answers/use-global-variables-in-python-functions/)*
