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

Palavra-chave global do Python

Palavra-chave global do Python


Neste artigo, você aprenderá sobre a palavra-chave global, variável global e quando usar palavras-chave globais.

Antes de ler este artigo, certifique-se de ter algumas noções básicas sobre variáveis ​​globais, locais e não locais do Python.

Qual ​​é a palavra-chave global


Em Python, global palavra-chave permite que você modifique a variável fora do escopo atual. Ele é usado para criar uma variável global e fazer alterações na variável em um contexto local.

Regras da palavra-chave global


As regras básicas para global palavra-chave em Python são:

Uso de palavra-chave global


Vamos dar um exemplo.

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

c = 1 # global variable

def add():
    print(c)

add()

Quando executamos o programa acima, a saída será:
1

No entanto, podemos ter alguns cenários em que precisamos modificar a variável global de dentro de uma função.

Exemplo 2:modificando a variável global de dentro da função

c = 1 # global variable
    
def add():
    c = c + 2 # increment c by 2
    print(c)

add()

Quando executamos o programa acima, a saída mostra um erro:
UnboundLocalError: local variable 'c' referenced before assignment

Isso ocorre porque só podemos acessar a variável global, mas não podemos modificá-la de dentro da função.

A solução para isso é usar o global palavra-chave.

Exemplo 3:alterando a variável global de dentro de uma função usando global

c = 0 # global variable

def add():
    global c
    c = c + 2 # increment by 2
    print("Inside add():", c)

add()
print("In main:", c)

Quando executamos o programa acima, a saída será:
Inside add(): 2
In main: 2

No programa acima, definimos c como uma palavra-chave global dentro do add() função.

Então, incrementamos a variável c por 2 , ou seja, c = c + 2 . Depois disso, chamamos o add() função. Finalmente, imprimimos a variável global c .

Como podemos ver, a mudança também ocorreu na variável global fora da função, c = 2 .

Variáveis ​​globais em módulos Python




Em Python, criamos um único módulo config.py para armazenar variáveis ​​globais e compartilhar informações entre módulos Python dentro do mesmo programa.

Aqui está como podemos compartilhar variáveis ​​globais nos módulos python.

Exemplo 4:compartilhar uma variável global entre módulos Python


Crie um config.py arquivo, para armazenar variáveis ​​globais
a = 0
b = "empty"

Crie um update.py arquivo, para alterar variáveis ​​globais
import config

config.a = 10
config.b = "alphabet"

Crie um main.py arquivo, para testar mudanças no valor
import config
import update

print(config.a)
print(config.b)

Quando executamos o main.py arquivo, a saída será
10
alphabet

Acima, criamos três arquivos:config.py , update.py e main.py .

O módulo config.py armazena variáveis ​​globais de a e b . No update.py arquivo, importamos o config.py módulo e modifique os valores de a e b . Da mesma forma, no main.py arquivo, importamos tanto config.py e update.py módulo. Finalmente, imprimimos e testamos os valores das variáveis ​​globais, sejam elas alteradas ou não.

Global em funções aninhadas


Aqui está como você pode usar uma variável global na função aninhada.

Exemplo 5:usando uma variável global em uma função aninhada

def foo():
    x = 20

    def bar():
        global x
        x = 25
    
    print("Before calling bar: ", x)
    print("Calling bar now")
    bar()
    print("After calling bar: ", x)

foo()
print("x in main: ", x)

A saída é:
Before calling bar: 20
Calling bar now
After calling bar: 20
x in main: 25

No programa acima, declaramos uma variável global dentro da função aninhada bar() . Dentro de foo() função, x não tem efeito da palavra-chave global.

Antes e depois de chamar bar() , a variável x pega o valor da variável local, ou seja, x = 20 . Fora do foo() função, a variável x terá o valor definido no bar() função, ou seja, x = 25 . Isso ocorre porque usamos global palavra-chave em x para criar uma variável global dentro do bar() função (escopo local).

Se fizermos alguma alteração dentro do bar() função, as alterações aparecem fora do escopo local, ou seja, foo() .

python

  1. Tipos de dados Python
  2. Operadores Python
  3. Instrução de passagem do Python
  4. Argumentos da função Python
  5. Variáveis ​​globais, locais e não locais do Python
  6. Dicionário Python
  7. Iteradores Python
  8. Fechamentos Python
  9. Data e hora do Python
  10. Python - Visão geral