定义的变量我有一个大的功能,在其内部嵌套的一些功能,如下所示:访问在功能
def primary(input):
def second():
print "something"
def third():
treasure = "Success!"
print treasure
第三()函数定义的变量宝并打印。我应该如何改变这个变量的范围,以便我可以从解释器打印宝藏,而不必调用任何函数,但仍然允许函数访问/更改它?
定义的变量我有一个大的功能,在其内部嵌套的一些功能,如下所示:访问在功能
def primary(input):
def second():
print "something"
def third():
treasure = "Success!"
print treasure
第三()函数定义的变量宝并打印。我应该如何改变这个变量的范围,以便我可以从解释器打印宝藏,而不必调用任何函数,但仍然允许函数访问/更改它?
你将不得不使它成为一个全球性的;函数中的局部变量不可访问,嵌套或以其他方式。
只是访问treasure
作为一个全球性的作品就好了:
treasure = "Success!"
def primary(input):
def second():
print "something"
def third():
print treasure
要的功能范围内改变treasure
,声明其全局与global
关键字。
treasure = "Success!"
def primary(input):
def second():
print "something"
def third():
global treasure
treasure = 'changed!'
print treasure
third()
如果函数third()在宝藏前添加关键字“global”。这允许其他功能使用该变量。
还有一种方法可以做到这一点,即在代码开始时定义var,这看起来好多了,也是我学会如何做到的。
treasure = "Success!"
def second():
print "Something."
def third():
print treasure
third()
祝你好运。
除非您使用'global'关键字,否则您将无法修改变量:>>> treasure =“Success!” >>> def fourth(): ...宝藏=“岛!” ... >>>第四个() >>>宝藏 '成功!'' – 2rs2ts
我强烈建议你重新考虑你的代码的结构,如果这是你所需要的。 –