English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico do Python

Controle de fluxo do Python

Função do Python

Tipos de Dados do Python

Operações de arquivo do Python

Objetos e classes do Python

Data e hora do Python

Conhecimento avançado do Python

Manual de referência do Python

Uso e exemplo do locals() no Python

Funções Integradas do Python

O método locals() atualiza e retorna o dicionário da tabela de símbolos local atual.

A tabela de símbolos é uma estrutura de dados mantida pelo compilador que contém todas as informações necessárias do programa.

Essas incluem nomes de variáveis, métodos, classes, etc.

Existem duas principais tabelas de símbolos.

  1. Tabela de símbolos global

  2. Tabela de símbolos local

UmGlobal A tabela de símbolos armazena todas as informações relacionadas ao escopo global do programa e é acessada usando o Python paraglobals()Métodos.

O escopo global inclui todas as funções, variáveis que não estão associadas a nenhum classe ou função.

Da mesma forma,Local A tabela de símbolos armazena todas as informações relacionadas ao escopo local do programa e é acessada usando o método locals() no Python.

O escopo local pode estar dentro de uma função, dentro de uma classe, etc. 

Recomendação de leitura: O espaço de nomes e o escopo do Python

A sintaxe do locals()

A sintaxe do método locals() é:

locals()

Parâmetros do locals()

O método locals() não recebe nenhum parâmetro.

Retorno do locals()

O método locals() atualiza e retorna o dicionário associado à tabela de símbolos local atual.

Exemplo1: Como locals() funciona no Python?}

locals()

Quando o programa é executado, a saída é:

{'In': ['', 'locals()'],
 'Out': {},
 '_': '',
 '__': '',
 '___': '',
 '__builtin__':,
 '__builtins__':,
 '__name__': '__main__',
 _dh: ['',/home/repl],
 _i: '',
 _i1': 'locals()',
 _ih: ['', 'locals()'],
 _ii: '',
 _iii: '',
 _oh: {},
 _sh:,
 'exit':,
 'get_ipython':>,
 'quit':}

Atenção:Os símbolos globals() e locals() do ambiente global são os mesmos.

Exemplo2: Como locals() funciona no escopo local?

def localsNotPresent():
    return locals()
def localsPresent():
    present = True
    return locals()
print('localsNotPresent:', localsNotPresent())
print('localsPresent:', localsPresent())

Quando o programa é executado, a saída é:

localsNotPresent: {}
localsPresent: {'present': True}

Exemplo3: Atualizar valor do dicionário locals()

def localsPresent():
    present = True
    print(present)
    locals()['present'] = False;
    print(present)
localsPresent()

Quando o programa é executado, a saída é:

True
True

Diferente de globals() dicionário (que reflete as alterações na tabela global real), o dicionário locals() pode não alterar as informações na tabela locals().

Funções Integradas do Python