Escopo do Python

O objetivo deste artigo é fornecer aos leitores uma breve visão geral do escopo do Python , incluindo exemplos para satisfazer sua necessidade de conhecimento.

As variáveis ​​Python armazenam valores de dados. Uma variável é uma referência a um objeto na memória, o que significa que ela é mapeada para uma instância sempre que é atribuída a uma instância.

Ele difere de outras linguagens como C, C++ e JAVA no fato de que o Python não é “digitado estaticamente”.

No escopo do Python , uma variável só é acessível dentro da região onde foi criada – Não é necessário declarar variáveis ​​ou definir seus tipos antes de operá-las. Isso é conhecido como escopo do Python .



O que é escopo do Python?

O escopo do Python define a visibilidade e acessibilidade de variáveis, funções e objetos em um programa. Ele determina onde uma variável ou nome pode ser acessado.

Existem quatro tipos de escopos em Python:

  1. Escopo local: Variáveis ​​definidas dentro de uma função são acessíveis apenas dentro dessa função. Depois que a função é concluída, essas variáveis ​​são destruídas e não podem ser acessadas.
  2. Escopo envolvente: Também conhecido como escopo não local, aplica-se a variáveis ​​em funções aninhadas. As funções internas podem acessar e modificar variáveis ​​de seu próprio escopo, bem como dos escopos envolventes e globais.
  3. Escopo global: variáveis ​​definidas fora de qualquer função ou classe têm escopo global. Eles podem ser acessados ​​e modificados de qualquer lugar do programa, inclusive dentro das funções. As variáveis ​​globais persistem durante a execução do programa.
  4. Escopo integrado: o escopo integrado inclui nomes e funções predefinidos fornecidos pelo Python, como print(), len() e range(). Esses nomes são acessíveis de qualquer parte do programa sem a necessidade de instruções de importação explícitas.

Função dentro da função

No exemplo acima, a variável mrx não é acessível fora da função, mas dentro da função no escopo do Python, ela é acessível.

Uma função dentro da função pode acessar a variável local:

Example: 

1
2
3
4
5
6
7
8
def anyNum():
mrx = 88
def anyNum_innerfunc():
print(mrx)
anyNum_innerfunc()
anyNum()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Você pode acessar uma variável local dentro de uma função usando a seguinte sintaxe:

Example: 

1
2
3
4
5
6
7
8
def anyString():
mrx = "Apple"
def anyString_innerfunc():
print(mrx)
anyString_innerfunc()
anyString()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Escopo Local

Quando se trata do escopo do Python , uma variável declarada dentro de uma função pertence ao seu escopo local e só pode ser acessada dentro dela.

Atribuir uma variável dentro de uma função a torna acessível dentro dessa função:

Example: 

1
2
3
4
5
6
def anyNum():
mrx = 300
print(mrx)
anyNum()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

As variáveis ​​internas de uma função são acessíveis dentro dessa função:

Example: 

1
2
3
4
5
6
def anyString():
mrx = "Apple"
print(mrx)
anyString()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Âmbito global

Variáveis ​​globais são aquelas que são formadas no corpo principal do código Python e fazem parte do escopo global.

Qualquer escopo, tanto global quanto local, tem acesso a variáveis ​​globais.

Uma variável global é aquela declarada fora de uma função e acessível a todos:

Example: 

1
2
3
4
5
6
7
mrx = 45
def anyNum():
print(mrx)
anyNum()
print(mrx)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Todos podem acessar uma variável global porque ela foi declarada fora de uma função:

Example: 

1
2
3
4
5
6
7
mrx = "Apple"
def anyString():
print(mrx)
anyString()
print(mrx)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Palavra-chave global

A palavra-chave global pode ser utilizada se você precisar especificar uma variável global, mas estiver restrita ao escopo local.

A variável é tornada global com a palavra-chave global.

A variável faz parte do escopo global se você usar a palavra-chave global:

Example: 

1
2
3
4
5
6
7
8
9
def anyNum():
global mrx
mrx = 88
anyNum()
print(mrx)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Se você usar a palavra-chave global, a variável fará parte do escopo global:

Example: 

1
2
3
4
5
6
7
8
9
def anyString():
global mrx
mrx = "Apple"
anyString()
print(mrx)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Além disso, se você precisar modificar uma variável global dentro de uma função, utilize a palavra-chave global.

Ao referenciar uma variável global dentro de uma função, use a palavra-chave global para alterar o valor da variável:

Example: 

1
2
3
4
5
6
7
8
x = 54
def anyNum():
global mrx
mrx = 88
anyNum()
print(mrx)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Use a palavra-chave global para alterar o valor de uma variável global ao fazer referência a ela dentro de uma função:

Example: 

1
2
3
4
5
6
7
8
x = "Samsung"
def anyString():
global mrx
mrx = "Apple"
anyString()
print(mrx)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Nomeando Variáveis

Python interpretará duas variáveis ​​com o mesmo nome usadas dentro e fora de uma função como duas variáveis ​​independentes, uma disponível no escopo global (fora da função) e outra disponível no escopo local (dentro da função), se você operar sobre elas ambos.

O código exibe o mrx global depois que a função exibe o mrx local:

Example: 

1
2
3
4
5
6
7
8
mrx = 88
def anyNum():
mrx = 54
print(mrx)
anyNum()
print(mrx)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Após a função mostrar o mrx local, o código mostra o mrx global:

Example: 

1
2
3
4
5
6
7
8
mrx = "Apple"
def anyString():
mrx = "Samsung"
print(mrx)
anyString()
print(mrx)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Importância do escopo do Python

O escopo do Python é importante por vários motivos:

  1. Entender o escopo é crucial para determinar onde as variáveis ​​podem ser acessadas e usadas em um programa. Ao definir variáveis ​​no escopo apropriado, você pode garantir que elas sejam acessíveis somente quando necessário e evitar conflitos de nomenclatura.
  2. O escopo permite encapsular variáveis ​​em partes específicas do seu código. As variáveis ​​locais são limitadas às suas respectivas funções, fornecendo privacidade de dados e impedindo modificações não intencionais ou acesso de outras partes do programa.
  3. O escopo adequado ajuda a organizar e estruturar seu código. Ao definir variáveis ​​no escopo apropriado, você pode agrupar variáveis ​​relacionadas, tornando o código mais legível e fácil de entender.
  4. O escopo evita conflitos de nomenclatura, limitando a visibilidade das variáveis. Usando variáveis ​​locais dentro de funções e evitando o uso de variáveis ​​globais, a menos que seja necessário, você pode minimizar as chances de nomear colisões e tornar o código mais robusto.
  5. Ao definir corretamente o escopo das variáveis, você pode criar um código modular e reutilizável. O encapsulamento de variáveis ​​dentro de funções permite a reutilização de código sem se preocupar com conflitos de variáveis ​​ou efeitos colaterais indesejados.
Assine a nossa Newsletter e mantenha-se atualizado com as últimas notícias e informações técnicas.
Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone