You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中从另一个函数访问嵌套函数内部的变量?

Python跨函数访问局部变量的最简单实现

你给出的代码中,v是z函数内部嵌套的y函数的局部变量,默认只能在y的代码块内部访问,要在x函数里调用这个值,最简单的实现方案是将v声明为全局变量,同时记得触发y函数的执行完成赋值,修改后的代码如下:

def z():
    def y():
        # 声明v为全局变量
        global v
        v = 10
    # 调用y完成v的赋值
    y()

def x():
    # 直接访问全局作用域的v即可
    print(v)

# 测试运行
z()
x()
# 输出结果:10

如果不想污染全局命名空间,也可以用返回值透传的方案,代码写法也非常简洁:

def z():
    def y():
        v = 10
        return v
    return y()

def x():
    v = z()
    print(v)

# 测试运行
x()
# 输出结果:10

两种方案的差异:

  • 全局变量方案改动最少,不需要修改x函数的原有逻辑,调用前先执行一次z函数即可
  • 返回值透传方案没有额外全局变量,符合Python作用域规范,不需要预先执行其他函数

内容的提问来源于stack exchange,提问作者ProgrammerForFun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 19:48:03