Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Dominando a Palavra-chave Global do Python: Como e Quando Usá-la

Dominando a Palavra-chave Global do Python: Como e Quando Usá-la

Este guia explica a palavra-chave global do Python, suas regras, casos de uso práticos e boas práticas para gerenciar variáveis globais entre módulos.


O que é a palavra-chave Global?

Em Python, a palavra-chave global permite declarar que uma variável dentro de uma função refere-se a uma variável de nível de módulo em vez de uma nova local. Isso é essencial quando uma função precisa ler ou modificar uma variável que existe fora de seu próprio escopo.


Regras para usar global


Uso prático de global

Abaixo estão exemplos ilustrativos demonstrando tanto as armadilhas quanto a abordagem correta.

Exemplo 1: Acessando variável global de dentro de uma função

c = 1 # variável global def adiciona(): print(c) adiciona()

Saída:

1

Aqui, c é lida com sucesso porque nenhuma atribuição ocorre dentro de adiciona().

Exemplo 2: Tentando modificar variável global sem global

c = 1 # variável global def adiciona(): c = c + 2 # tenta modificar c print(c) adiciona()

Saída:

UnboundLocalError: local variable 'c' referenced before assignment

O erro ocorre porque Python trata c como nova variável local referenciada antes da atribuição.

Exemplo 3: Modificando variável global usando global

c = 0 # variável global def adiciona(): global c c = c + 2 print("Dentro de adiciona():", c) adiciona() print("No main:", c)

Saída:

Dentro de adiciona(): 2 No main: 2

Declarando global c, a função atualiza o c de nível de módulo, e a mudança é visível fora da função.


Compartilhando variáveis globais entre módulos Python

Para aplicações maiores, é comum centralizar configuração em módulo dedicado, como config.py. Outros módulos podem importar e modificar esses valores, permitindo estado consistente pelo programa.

Exemplo 4: Variáveis globais entre módulos

Crie config.py:

a = 0 b = "vazio"

Crie atualiza.py para modificar os globais:

import config config.a = 10 config.b = "alfabeto"

Crie principal.py para verificar as mudanças:

import config import atualiza print(config.a) print(config.b)

Saída:

10 alfabeto

Este padrão mantém estado compartilhado em um lugar enquanto permite atualizações controladas de outros módulos.


Usando global em funções aninhadas

Quando uma função aninhada precisa modificar variável local a uma função externa, a palavra-chave global ainda pode ser aplicada para criar uma variável verdadeiramente global.

Exemplo 5: Variável global em função aninhada

def foo(): x = 20 def bar(): global x x = 25 print("Antes de chamar bar:", x) print("Chamando bar agora") bar() print("Depois de chamar bar:", x) foo() print("x no main:", x)

Saída:

Antes de chamar bar: 20 Chamando bar agora Depois de chamar bar: 20 x no main: 25

Dentro de foo(), x permanece variável local. A bar() aninhada declara x como global, então a atribuição afeta o x de nível de módulo e é visível após foo() terminar.


Embora global possa ser útil, geralmente é melhor projetar funções que retornam novos valores em vez de mutar estado global. Isso promove código mais claro e testes mais fáceis. Para regras detalhadas da linguagem, veja a documentação oficial do Python sobre a declaração global.

python

  1. Dominando Tipos de Dados em Python: Guia Prático
  2. Dominando Operadores em Python: Guia Completo
  3. Dominando a Declaração Pass em Python: Guia Prático
  4. Dominando Argumentos de Funções em Python: Parâmetros Posicionais, Nomeados e Padrão
  5. Entendendo Variáveis Globais, Locais e Nonlocal em Python
  6. Dominando Dicionários em Python: Criação, Manipulação e Técnicas Avançadas
  7. Dominando Iteradores em Python: Como Funcionam e Como Criar os Seus
  8. Closures em Python Explicados: Como Funções Aninhadas Capturam Variáveis
  9. Dominando datetime do Python: Guia Prático de Datas, Horários e Fusos Horários
  10. Visão Geral do Python: Linguagem de Alto Nível, Legível, Interativa e Orientada a Objetos