Use global variables in Python functions

David Y.

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 keyword before using it. The code below demonstrates the creation and use of a global counter variable across multiple functions.

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.

Get Started With Sentry

Get actionable, code-level insights to resolve Python performance bottlenecks and errors.

  1. Create a free Sentry account

  2. Create a Python project and note your DSN

  3. Grab the Sentry Python SDK

pip install --upgrade sentry-sdk
  1. Configure your DSN
import sentry_sdk sentry_sdk.init( "https://<key><project>", # Set traces_sample_rate to 1.0 to capture 100% # of transactions for performance monitoring. # We recommend adjusting this value in production. traces_sample_rate=1.0, )

Loved by over 4 million developers and more than 90,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

Share on Twitter
Bookmark this page
Ask a questionJoin the discussion

Related Answers

A better experience for your users. An easier life for your developers.

© 2024 • Sentry is a registered Trademark
of Functional Software, Inc.