Entenda o escopo das variáveis ​​globais em Python

Entenda o escopo das variáveis ​​globais em Python
Dois tipos de variáveis ​​podem ser definidos na maioria das linguagens de programação. Essas são variáveis ​​globais e variáveis ​​locais. As variáveis ​​definidas fora da função são chamadas de variável global. Esta variável é acessível e mutável de qualquer lugar do script. A variável declarada dentro da função é chamada de variável local. Mas se o mesmo nome de variável existir que as 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 simples uso de uma variável global dentro da função e fora da função. Aqui, uma variável global nomeada texto é usado para atribuir dados de string. Uma função personalizada nomeada printMessage () é definido para imprimir o valor da variável global. O valor do texto A variável é impressa dentro da função e fora da função depois de alterar o valor.

#!/usr/bin/Env Python3
# Defina uma variável global
texto = "Bem -vindo ao Linuxhint"
# Defina uma função
DEF PrintMessage ():
# Imprima a variável global da função
Print ("Variável Global Inside Função: \ n", texto)
# Ligue para a função
printMessage ()
# Altere o valor da variável global
text = "Aprenda a programação Python"
# Imprima o valor atual da variável global
Print ("Variável Global Função externa: \ n", texto)

Saída:

A saída a seguir aparecerá após a execução do script. 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 da 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á é declarada como uma variável global antes no Python e deseja usar a variável, ela tratará a variável como uma variável local e gerará um erro. O script a seguir mostrará o erro. Aqui, o texto A variável é definida como uma variável global e local.

#!/usr/bin/Env Python3
# Defina uma variável global
text = "Eu gosto de python"
# Defina uma função
DEF PrintMessage ():
Imprimir (texto)
text = "eu gosto de php"
# Ligue para a função
printMessage ()

Saída:

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

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

#!/usr/bin/Env Python3
# Defina uma variável global
text = "Eu gosto de python"
# Defina uma função
DEF PrintMessage ():
# Degine valor local
text = "eu gosto de php"
# Imprima a variável local, texto
print ("O valor de 'texto' Função interna: \ n", texto)
# Ligue para a função
printMessage ()
# Imprima a variável global, texto
print ("O valor de 'texto' Função externa: \ n", texto)

Saída:

A saída a seguir 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 é 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 seguinte, Cal_Percentage () A função é definida para calcular a porcentagem de qualquer número em que as variáveis ​​globais e locais sejam usadas. Aqui, num é uma variável global e perval é uma variável local. global A 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 (input ("Digite um número:")))
# Defina a função
def Cal_Percentage ():
# Reconheça a variável global usando a palavra -chave global
Num global
# Tome um valor inteiro como porcentagem
perval = int (entrada ("Digite o valor percentual:")))
# Calcule o valor percentual
resultado = float ((num * perval)/100)
# Imprima o resultado formatado
print (" %d porcentagem de %d = %f" %(perval, num, resultado))
# Altere o valor da variável global
num = 500
# Imprima o valor da variável global antes de chamar a função
print ("\ nO valor de num = %d" %num)
# Ligue para a função
Cal_Percentage ()
# Imprima o valor da variável global depois de chamar a função
print ("\ nO valor de num = %d" %num)

Saída:

A saída a seguir aparecerá após a execução do script. Aqui, 10% de 350 são calculados e impressos.

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

O exemplo a seguir mostra que 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 nomeado 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 script de Global6.py 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
# Isso é global5.arquivo py
# Estrutura salarial básica de uma empresa
Básico = 5000
Médico = 500
Transporte = 500 #!/usr/bin/Env Python3
# Isso é global6.arquivo py
# Importe as variáveis ​​globais do global5.py
importar global5
# Pegue o nome do funcionário
nome = entrada ("Digite o nome do funcionário:")
# Pegue o nome da postagem
post = input ("Digite o post:")
# Inicialize a variável de erro
erro = false
# Verifique a postagem e defina o salário básico com base na postagem
if (post.Upper () == "CEO"):
Basic = Global5.Basic + (Global5.BASIC*0.4)
Elif (Post.Upper () == "gerente"):
Basic = Global5.Basic + (Global5.BASIC*0.25)
Elif (Post.Upper () == "Contador"):
Basic = Global5.Basic + (Global5.BASIC*0.15)
outro:
# Defina o erro como true se o valor positivo não encontrado
erro = true
# Imprima o salário se o erro for flase
if (erro == false):
salário = básico + global5.Medical + Global5.Transporte
impressão ("O salário de %s é %d" %(nome, salário))
outro:
Impressão ("Post não é encontrado")

Saída:

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

Conclusão:

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

Assista ao vídeo do autor: aqui