@iegor

Как получить доступ к области видимости?

Есть две функции: одна вызывается второй, есть ли возможность получить доступ к переменным вызывающей функции у вызываемой?
def a():
    ### хочу получить x из функции b

def b(x):
    return a()

редактировать необходимо именно a, b такая какая есть.
  • Вопрос задан
  • 360 просмотров
Решения вопроса 1
import sys


def a():
	j = 10
	h = 20
	b()


def b():
	callingframe = sys._getframe(1)
	print(callingframe.f_locals)

a()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Avernial
@Avernial
Разрабатываю научное ПО на языке Python.
Функция locals возвращает словарь с переменными в текущей области видимости.

def func1(a, b):
    func2(locals())

def func2(args):
    print(args)

func1(10, 20)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы