Como Usar uma Variável Global em uma Função

Ana Maria Gomes
4 minutos de leitura

Conteúdos do tutorial

Ao programar em Python, você pode se deparar com a necessidade de acessar ou modificar uma variável global, mesmo estando dentro de uma função. Entender como usar corretamente variáveis globais pode evitar erros e garantir que seu código funcione como esperado.

Entendendo Variáveis Globais em Python

Uma variável global é aquela que pode ser acessada de qualquer parte do seu programa, incluindo dentro de funções. No entanto, há um detalhe quando você quer modificar uma variável global dentro de uma função: você precisa declará-la explicitamente como global.

Declarando Variáveis Globais

Aqui está um exemplo simples para ilustrar como usar uma variável global dentro de uma função:

# Definir uma variável global
globvar = 0


# Função para modificar a variável global
def mudar_globvar_para_um():
    global globvar  # Declarar globvar como global
    globvar = 1


# Função para imprimir a variável global
def exibir_globvar():
    print(globvar)  # Acessando globvar sem declaração


# Modificar e depois imprimir a variável global
mudar_globvar_para_um()
exibir_globvar()  # Isso imprimirá 1

Na função mudar_globvar_para_um, usamos a palavra-chave global para dizer ao Python que estamos nos referindo à globvar global, não a uma local. Sem essa declaração, o Python assumiria que globvar é uma variável local, levando a um UnboundLocalError.

Lendo vs. Modificando Variáveis Globais

É importante notar que você só precisa declarar uma variável como global se estiver planejando modificá-la. Se você está apenas lendo o valor de uma variável global dentro de uma função, você pode usá-la diretamente sem a palavra-chave global. Foi o que aconteceu na função exibir_globvar do exemplo anterior.

Compartilhando Variáveis Globais Entre Módulos

E se eu precisar acessar uma variável global que está em outro módulo? Um padrão comum para compartilhar variáveis globais entre módulos é criar um módulo de configuração, muitas vezes chamado de config ou cfg. Veja como você pode implementar isso:

# Arquivo: config.py
x = 0   # Valor padrão da configuração 'x'


# Arquivo: mod.py
import config
config.x = 1


# Arquivo: main.py
import config
import mod
print(config.x)  # Isso imprimirá 1

Ao importar o módulo config em todas as partes da sua aplicação, quaisquer alterações feitas nas variáveis do módulo são refletidas em todos os lugares, pois existe apenas uma instância de cada módulo.

Resumo

Para usar uma variável global dentro de uma função, declare-a como global se precisar modificá-la. Se você está apenas lendo seu valor, nenhuma declaração é necessária. Para compartilhar variáveis globais entre módulos, considere usar um módulo de configuração. Lembre-se, a palavra-chave global é crucial para modificar variáveis globais dentro de funções.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: