Функция Python locals()
locals()Это встроенная функция в Python, используемая для возврата словаря локальных переменных в текущей области видимости.
locals()Возвращает словарь, содержащий все переменные в текущей локальной области видимости. Этот словарь является снимком текущей среды выполнения функции.
Глоссарий: locals 意为"本地的",表示局部作用域中的变量。
Базовый синтаксис и параметры
Формат синтаксиса
locals()
Описание параметра
- Нет параметров
Описание функций
- Возвращаемое значение: Возвращает словарь, содержащий переменные в текущей локальной области видимости.
- Примечание: при вызове на уровне модуля возвращает содержимое globals().
Примеры
Пример 1: Использование внутри функции
Пример
def my_function():
a = 10
b = "hello"
c = [1, 2, 3]
# Получить локальные переменные
local_vars = locals()
print(local_vars)
# Вывод: {'a': 10, 'b': 'hello', 'c': [1, 2, 3], ...}
# Доступ к конкретной переменной
print(local_vars['a']) # Вывод: 10
my_function()
a = 10
b = "hello"
c = [1, 2, 3]
# Получить локальные переменные
local_vars = locals()
print(local_vars)
# Вывод: {'a': 10, 'b': 'hello', 'c': [1, 2, 3], ...}
# Доступ к конкретной переменной
print(local_vars['a']) # Вывод: 10
my_function()
Ожидаемый вывод:
{'a': 10, 'b': 'hello', 'c': [1, 2, 3], ...}
10
Пояснение кода:
- locals() возвращает локальные переменные внутри функции.
Пример 2: Динамические операции с переменными
Пример
def test():
x = 1
y = 2
# Просмотреть локальные переменные
vars = locals()
print(f"Локальные переменные: {vars}")
# Добавление новой переменной (не рекомендуется)
vars['z'] = 3
print(fПосле добавления: {z}) # Доступ возможен, но не полагайтесь на это
test()
x = 1
y = 2
# Просмотреть локальные переменные
vars = locals()
print(f"Локальные переменные: {vars}")
# Добавление новой переменной (не рекомендуется)
vars['z'] = 3
print(fПосле добавления: {z}) # Доступ возможен, но не полагайтесь на это
test()
Вывод:
locals() возвращает копию словаря; её изменение не изменит фактические локальные переменные.
Пример 3: на уровне модуля
Пример
# На уровне модуля locals() эквивалентна globals()
global_var = 100
# Просмотр глобальных переменных
print(len(locals())) # Содержит все глобальные переменные
print('global_var' in locals()) # Вывод: True
# Содержит встроенные функции и импортированные модули
import math
print('math' in locals()) # Вывод: True
global_var = 100
# Просмотр глобальных переменных
print(len(locals())) # Содержит все глобальные переменные
print('global_var' in locals()) # Вывод: True
# Содержит встроенные функции и импортированные модули
import math
print('math' in locals()) # Вывод: True
Вывод:
При использовании на уровне модуля locals() и globals() возвращают одинаковое содержимое.
locals()Он в основном используется для отладки и динамического анализа кода.
Другие расширения
Встроенные функции Python3