【问题标题】:How to modify a variable from nested function? [duplicate]如何从嵌套函数修改变量? [复制]
【发布时间】:2020-12-22 16:05:12
【问题描述】:

我在 python 中尝试了一些使用范围的东西,但遇到了一个小问题。我这里有这段代码。我想在嵌套函数中更改变量var

def func_1():
    var = 1
    
    def func_2():
        var = 2
        
    func_2()
    print(var)

func_1()

func_1()运行时,var仍为1。是否可以在func_2下编辑var

【问题讨论】:

  • 我投了反对票,因为只需不到一分钟的研究时间就可以找到完全相同的副本。请在发布前进行研究。

标签: python python-3.x scope


【解决方案1】:

你可以使用nonlocal关键字:

def func_1():
    var = 1
    def func_2():
        nonlocal var
        var = 2
    func_2()
    print(var)

func_1() # prints 2

【讨论】:

  • 它有效,谢谢! :D
猜你喜欢
  • 1970-01-01
  • 2013-07-17
  • 2014-11-05
  • 1970-01-01
  • 2011-09-06
  • 1970-01-01
  • 1970-01-01
  • 2019-04-16
相关资源
最近更新 更多