import inspect def test(): return inspect.stack()[1][0].f_locals def container(): variable = 123 print test()['variable'] container()
alien308Ок извиите долго тупил над вашим кодом.
Есть переменная dx,
#!/usr/bin/env python # -*- coding: utf-8 -*- import numpy as np import scipy as sp import math from scipy.stats import genpareto def minim(a, b, y,dx=0.1): .... minim(a, b, f) minim(a, b, f,dx=0.2)
def f(x=3,y=5,**kvargs): print(x,y) x=3.3 y=5.3 f(**locals()) >>> (3.3, 5.3)
alien308Нет, в таком варианте лучше по-человечески.
Хочу чтобы параметры волшебством передавались.
>>> def getFoo(x, y): ... def foo(z): ... print x, y, z ... return foo >>> foo = getFoo(1, 2) >>> foo(3) 1 2 3
Rodegast
> Придётся костыли использовать - передавать эти данные как атрибуты функции.Ты так получишь грязную функцию. Лучше используй каррирование: