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

Python中函数存在同名局部变量时如何访问全局变量

实现方法

你的原代码问题在于:Python函数内对变量赋值时,该变量默认会被识别为局部变量,覆盖同名全局变量,所以两个函数都没有使用你定义的全局变量v=1。

按照需求修改后的代码如下:

v = 1
def func():
    # 移除内部局部变量v的赋值,直接访问全局作用域的v=1
    print(v)
def add():
    # 将局部v赋值为2,满足2+2=4的输出要求
    v = 2
    print(v + v)
func()
add()

如果你希望add函数也复用全局的v变量来计算,可以采用如下写法:

v = 1
def func():
    print(v)
def add():
    # 基于全局v=1计算得到2,再相加得到4
    print((v + 1) + (v + 1))
func()
add()

两种写法运行后的输出均为:

1
4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 08:54:04