假设我已经定义了这样的函数之前如何修改函数的当地人:称其为蟒蛇
def calc():
print x
而且我想我调用前注入变种X为函数的局部用一些方法。
这看起来像我添加了关键字x,我可以使用函数calc()中的x而不定义它。而x将由调用calc()的外部函数定义。
也许这是一个愚蠢的问题,但我只想知道是否有可能做到这一点?
如果我们在调用它之前无法修改它的本地人,我们可以尝试另一种方式吗?也就是说,假设我们使用的装饰或别的东西来自动修改FUNC()的定义,
def clac(x):
print x
也许这样,我们需要用函数的字节码玩?
有人可以提供一些建议吗?
可能的重复[如何在Python中使用装饰器将变量注入到作用域](http://stackoverflow.com/questions/17862185/how-to-inject-variable-into-scope-with-a-decorator-蟒蛇) –
@Zero Piraeus我看到,它似乎是同一个问题,但我发现下面的答案在我的文章比你提到的更好。 – Myrfy