Compreenda o escopo das variáveis ​​globais em python

Understand Global Variables Scope Python



Dois tipos de variáveis ​​podem ser definidos na maioria das linguagens de programação. Estas são variáveis ​​globais e variáveis ​​locais. As variáveis ​​definidas fora da função são chamadas de variáveis ​​globais. Esta variável é acessível e modificável de qualquer lugar no script. A variável declarada dentro da função é chamada de variável local. Mas se o mesmo nome de variável existir como variáveis ​​globais e locais, a variável dentro da função terá a prioridade e o valor da variável global será ignorado. O escopo da variável global no script python é mostrado neste tutorial usando vários exemplos.

Exemplo-1: uso simples de uma variável global

O exemplo a seguir mostra o uso simples de uma variável global dentro e fora da função. Aqui, uma variável global chamada texto é usado para atribuir dados de string. Uma função personalizada chamada printMessage () é definido para imprimir o valor da variável global. O valor do texto variável é impressa dentro da função e fora da função após alterar o valor.







#! / usr / bin / env python3

# Defina uma variável global
texto= 'Bem-vindo ao LinuxHint'

# Defina uma função
defprintMessage():

# Imprime a variável global da função
imprimir('Variável global dentro da função: n',texto)

# Chame a função
printMessage()

# Altere o valor da variável global
texto= 'Aprenda Programação Python'

# Imprime o valor atual da variável global
imprimir('Variável global fora da função: n',texto)

Saída:



A seguinte saída aparecerá após a execução do script. Ele imprimiu o valor, ' Bem-vindo ao LinuxHint ’ que é atribuído à variável antes de chamar a função. Em seguida, ele imprimiu o valor, ‘Aprenda Programação Python’ depois de alterar o valor da variável.







Exemplo-2: Uso de variável global e local com o mesmo nome

Se você deseja declarar um nome de variável dentro de uma função que já foi declarada como uma variável global antes em python e deseja usar a variável, ele tratará a variável como uma variável local e gerará um erro. O script a seguir mostrará o erro. Aqui, o texto variável é definida como uma variável global e local.

#! / usr / bin / env python3

# Defina uma variável global
texto= 'Eu gosto de Python'

# Defina uma função
defprintMessage():
imprimir(texto)

texto= 'Eu gosto de PHP'

# Chame a função
printMessage()

Saída:



A seguinte saída aparecerá após a execução do script.

Para evitar a situação acima e se você quiser declarar uma variável local com o mesmo nome de uma variável global, você deve primeiro atribuir a variável local dentro da função. O script a seguir mostra que as mudanças na variável local não fazem nenhuma mudança na variável global. texto variável é impressa dentro e fora da função aqui.

#! / usr / bin / env python3

# Defina uma variável global
texto= 'Eu gosto de Python'

# Defina uma função
defprintMessage():
# Degine valor local
texto= 'Eu gosto de PHP'
# Imprime a variável local, texto
imprimir('O valor de' texto 'dentro da função: n',texto)

# Chame a função
printMessage()

# Imprime a variável global, texto
imprimir('O valor de' texto 'fora da função: n',texto)

Saída:

A seguinte saída aparecerá após a execução do script.

Exemplo 3: Uso de variável global dentro da função

O exemplo anterior mostra que a variável global não está acessível dentro de uma função. Você pode usar o global palavra-chave para acessar uma variável global de qualquer função. No script a seguir, cal_percentage () A função é definida para calcular a porcentagem de qualquer número onde as variáveis ​​globais e locais são usadas. Aqui, num é uma variável global, e perVal é uma variável local. global palavra-chave é usada aqui para identificar a variável global dentro da função e o valor da variável global é alterado dentro da função.

#! / usr / bin / env python3

# Pegue um valor inteiro
num= int(entrada('Digite um número:'))

# Defina a função
defcal_percentage():
# Reconhecer a variável global usando palavra-chave global
globalnum

# Pegue um valor inteiro como porcentagem
perVal= int(entrada('Digite o valor da porcentagem:'))

# Calcular o valor percentual
resultado= flutuador((se * perVal)/100)

# Imprime o resultado formatado
imprimir('% d porcentagem de% d =% f'%(perVal,num,resultado))

# Altere o valor da variável global
num= 500

# Imprime o valor da variável global antes de chamar a função
imprimir(' nO valor de num =% d '%num)

# Chame a função
cal_percentage()

# Imprime o valor da variável global após chamar a função
imprimir(' nO valor de num =% d '%num)

Saída:

A seguinte saída aparecerá após a execução do script. Aqui, 10% de 350 é calculado e impresso.

Exemplo 4: Uso de variáveis ​​globais de outro script

O exemplo a seguir mostra como a variável global declarada em um script pode ser usada em outro script. Suponha que o nome do arquivo seja global6.py que usará as variáveis ​​globais definidas no arquivo chamado global5.py . Três variáveis ​​globais são declaradas em global5.py . Você tem que importar global5 para usar as variáveis ​​em outro script. O roteiro de global6.py irá calcular o salário de três tipos de funcionários com base em valores de entrada e variáveis ​​globais.

#! / usr / bin / env python3
# este é o arquivo global5.py

# Estrutura salarial básica de uma empresa
Básico= 5000
Médico= 500
Transporte= 500 #! / usr / bin / env python3
# este é o arquivo global6.py

# Importe as variáveis ​​globais de global5.py
importarglobal5

# Pegue o nome do funcionário
nome= entrada('Digite o nome do funcionário:')
# Pegue o nome da postagem
publicar= entrada('Digite a postagem:')

# Inicialize a variável de erro
erro= Falso

# Verifique o cargo e defina o salário básico com base no cargo
E se(publicar.superior() == 'CEO'):
básico=global5.Básico+(global5.Básico*0,4)
elif(publicar.superior() == 'GERENTE'):
básico=global5.Básico+(global5.Básico*0,25)
elif(publicar.superior() == 'CONTADOR'):
básico=global5.Básico+(global5.Básico*0,15)
outro:
# Defina o erro como verdadeiro se o valor da postagem não for encontrado
erro= Verdade

# Imprime o salário se o erro for flase
E se (erro== Falso):
salário=básico + global5.Médico+ global5.Transporte
imprimir('O salário de% s é% d'%(nome,salário))
outro:
imprimir('Postagem não encontrada')

Saída:

A seguinte saída aparecerá após a execução do script. Aqui, o script é executado duas vezes com uma postagem válida e uma postagem inválida.

Conclusão:

O conceito de uma variável global em python é explicado neste tutorial com vários exemplos simples para os novos usuários de python. Espero que os leitores obtenham o conhecimento adequado das variáveis ​​globais, bem como das variáveis ​​locais, depois de ler este tutorial.

Assistir ao vídeo do autor: aqui