代码之家  ›  专栏  ›  技术社区  ›  S.B Daniel Pryden

为什么在封闭范围中使用exec()不能创建自由变量?

  •  0
  • S.B Daniel Pryden  · 技术社区  · 5 年前

    我以为这会打印3,但它打印1:

    # Python3
    
    def f():
        a = 1
        exec("a = 3")
        print(a)
    
    f()
    # 1 Expected 3
    
    0 回复  |  直到 4 年前
    推荐文章