Tutoriais

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

Ana Maria Gomes 08 fev Básico 5xp
Compartilhar

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.

Cursos gratuitos para continuar aprendendo

Curso
Grátis · 2h 13min

Python para iniciantes: do zero ao primeiro projeto

Aprenda sobre variáveis, loops e funções e crie seu primeiro projeto Python em apenas 2 horas!

Curso
Grátis · 3h 47min

Python para dados: do zero à análise completa

Saia do zero e analise dados com Python e Pandas neste curso gratuito com certificado!

Curso
Grátis · 4h 11min

Python para IA: do zero ao primeiro chatbot

Aprenda a programar com Python e explore a inteligência artificial! Crie um chatbot prático que interage com seus próprios dados. Comece agora!

Ver todos os cursos

0 comentários

Exclusivo PRO
Faça parte da discussão

Comente e participe da conversa

Crie sua conta gratuita e compartilhe sua opinião nos comentários.

Entre para a Asimov