【问题标题】:How to access local variables from multilevel nested function in python如何从python中的多级嵌套函数访问局部变量
【发布时间】:2022-12-05 21:14:13
【问题描述】:

我有以下代码

x=55
def show():
    x=10
    def show1():
        x=20
        def show2():
            x=30
            # how we can print x of show here
            print(x)

我们如何从 show2 访问 show 的 x。请更新

【问题讨论】:

  • 你如何调用你的函数?是否尝试过使用global 关键字?请提供一个可重现的例子。
  • 哪个功能。 global 可以调用 x ,这里是 55 。
  • 你刚刚添加了它。为什么要给所有这些变量起相同的名字?我在问你怎么称呼show2。请添加其他人可以运行的代码。

标签: python-3.x


【解决方案1】:

在您进入该函数之前定义变量的范围。为了简化你的类比:

x = 10 # ref as p
def show():
    x = 20 # ref as q
    def show1():
        x = 30 # ref as r
        print(x)
    print(x)

show()
  1. 在调用 show() 之前,“p”充当全局变量。
  2. 调用 show() -> 您正在用“q”覆盖“p”。更好的说法是,“q”是局部变量,优先于“p”。
  3. 从 show() 内部调用 show1(),“r”将“q”覆盖为局部变量。

【讨论】:

    猜你喜欢
    • 2019-11-21
    • 2018-07-16
    • 2018-10-23
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    相关资源
    最近更新 更多