Функция globals() в Python
globals()Это встроенная функция в Python, используемая для возврата словаря переменных в текущей глобальной области видимости.
globals()Возвращает словарь, содержащий все глобальные переменные текущего модуля. Этот словарь содержит все импортированные модули, определённые функции, классы и глобальные переменные.
Определение слова: globals 意为"全局的",表示全局作用域中的变量。
Базовый синтаксис и параметры
Формат синтаксиса
globals()
Описание параметра
- Нет параметров
Описание функций
- Возвращаемое значение: Возвращает словарь, содержащий переменные в глобальной области видимости.
Пример
Пример 1: Просмотр глобальных переменных
Пример
# Определяем несколько глобальных переменных
global_var = 100
global_list = [1, 2, 3]
import math
import os
# Получаем словарь глобальных переменных
g = globals()
print(f"Количество переменных: {len(g)}")
# Просмотр конкретной переменной
print(f"global_var: {g.get('global_var')}")
print(f"math: {g.get('math')}")
print(f"os: {g.get('os')}")
# Проверить, существует ли переменная
print('global_var' in g) # Вывод: True
print('unknown' in g) # Вывод: False
global_var = 100
global_list = [1, 2, 3]
import math
import os
# Получаем словарь глобальных переменных
g = globals()
print(f"Количество переменных: {len(g)}")
# Просмотр конкретной переменной
print(f"global_var: {g.get('global_var')}")
print(f"math: {g.get('math')}")
print(f"os: {g.get('os')}")
# Проверить, существует ли переменная
print('global_var' in g) # Вывод: True
print('unknown' in g) # Вывод: False
Ожидаемый вывод:
变量数量: ... global_var: 100 math: <module 'math'> os: <module 'os'> True False
Анализ кода:
- globals() возвращает все глобальные переменные текущего модуля.
- Включает импортированные модули, функции, классы и т.д.
Пример 2: Динамическая работа с глобальными переменными
Пример
# Динамическое создание глобальных переменных
globals()['dynamic_var'] = "Hello"
print(dynamic_var) # Вывод: Hello
# Пакетное создание переменных
for i in range(3):
globals()[f'var_{i}'] = i * 10
print(var_0, var_1, var_2) # Вывод: 0 10 20
# Использование globals() в функции
def test():
g = globals()
g['x'] = 999
print(f"В функции: x = {x}")
test()
print(f"Вне функции: x = {x}") # Вывод: x = 999
globals()['dynamic_var'] = "Hello"
print(dynamic_var) # Вывод: Hello
# Пакетное создание переменных
for i in range(3):
globals()[f'var_{i}'] = i * 10
print(var_0, var_1, var_2) # Вывод: 0 10 20
# Использование globals() в функции
def test():
g = globals()
g['x'] = 999
print(f"В функции: x = {x}")
test()
print(f"Вне функции: x = {x}") # Вывод: x = 999
Ожидаемый вывод:
Hello 0 10 20 在函数中: x = 999 在函数外: x = 999
Вы можете динамически изменять глобальные переменные, но обычно это не рекомендуется.
globals()В основном используется для отладки и динамического программирования.
Другие расширения
Встроенные функции Python3