我可以访问特定范围内的其他变量吗?像这样:
variable = 'acces with global'
def function1:
variable = 'function 1 variable'
def function2:
variable = 'I really like this name for variable'
def function3:
def access_to_local:
variable = "it's another variable I can access too!"
def access_to_global:
global variable
variable = 'now I have access to my global variable'
def access_to_function2:
nonlocal variable
variable = 'And easy way to change function2 variable'
def access_to_function1:
#nonlocal^2 variable?
variable = 'And how can I get access to variable in
function1?'
这不是生死攸关的问题,我只是好奇。
我只是学习如何在python中进行全局和非本地工作。现在,这绝对够了,但我想知道我问的是不可能的。特别是,我读到了关于这一点,并且他们正在考虑制作“特定范围内的非本地”之类的东西。但他们决定使用非本地代替。是因为有没有非本地的方式吗?或者也许有一些非局部技巧,比如写nonlocal nonlocal variable
两次?
答案 0 :(得分:0)
请注意,使用这么多级别的嵌套并不是很自然;你很少,如果有的话,首先需要使用这么多的嵌套。如果您需要在极少数情况下访问不同级别的变量,请使用不同的名称。