English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O método globals() retorna um dicionário de todas as variáveis globais na posição 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.
Tabela de símbolos local
Tabela de símbolos global
Local(Local)A tabela de símbolos armazena todas as informações relacionadas ao escopo local do programa e pode ser usada no Pythonlocals()acesso de método.
o escopo local pode estar dentro de uma função, dentro de uma classe, etc.
Da mesma forma,Global(Global)O símbolo da tabela armazena todas as informações relacionadas ao escopo global do programa e pode ser acessado usando o método globals() no Python.
O escopo global contém todas as funções, variáveis que não estão associadas a nenhum classe ou função.
Leia mais: Espaço de nomes e escopo no Python
O dicionário globals() é o dicionário do módulo atual (dentro de uma função, é o módulo que o definiu, não o que o chamou).
A sintaxe do método globals() é:
globals()
O método globals() não leva nenhum parâmetro.
O método globals() retorna um dicionário de variáveis globais.
globals()
Quando você executar o programa, a saída será:
{'In': ['', 'globals()'], 'Out': {}, '_': '', '__': '', '___': '', '__builtin__': <module 'builtins' (built-in)>, '__builtins__': <module 'builtins' (built-in)>, '__name__': '__main__', '_dh': ['',/home/repl'], '_i': '', '_i1': 'globals()', '_ih': ['', 'globals()'], '_ii': '', '_iii': '', '_oh': {}, '_sh': <module 'IPython.core.shadows' from '/usr/local/lib/python3.5/dist-packages/IPython/core/shadows.py'>, 'exit': <IPython.core.autocall.ExitAutocall at 0x7fbc60ca6c50>, 'get_ipython': <bound method InteractiveShell.get_ipython of <IPython.core.interactiveshell.InteractiveShell object at 0x7fbc6478ee48>>, 'quit': <IPython.core.autocall.ExitAutocall at 0x7fbc60ca6c50>}
A saída exibirá todos os variáveis globais e outros símbolos do programa atual.
age = 23 globals()['age'] = 25 print('Idade é:', age)
Quando você executar o programa, a saída será:
Idade é: 25
Aqui, devido à tabela de símbolos global ainda armazenar todos os variáveis globais, ou seja, neste exemplo age, você pode usar a função globals() para alterar o valor de age.
Acesse o dicionário retornado usando a chave da variável age e modifique-o para25.
Isso novamente refletirá na tabela de símbolos globais.