擅长:python、mysql、java
<p>这将是动态范围界定。被广泛认为是一个非常糟糕的想法,因此在包括Python在内的各种语言中根本不受支持。只是不可能,除非你想拉<em>非常</em>肮脏和脆弱的黑客。实际上,我将此作为标准免责声明包括在内,并不是因为我心里有这样的解决方案。我能提供的最接近“工作”的是重新编写字节码,呃。在</p>
<p>相反,让它成为修饰函数的参数。或者取消全球批发,从长远来看,这可能会更简单、更好。在</p>
<pre><code>def exposebasevar(function):
def decorator(*args, **kwargs):
demovar = 'Where am I?'
return function(*args, demovar=demovar, **kwargs) # <<
return decorator
@exposebasevar
def usesexposedvariable(demovar): # <<
print demovar
</code></pre>