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

如何在Python函数中修改作为参数传入的变量?

如何修改外部变量num的值?

先看你的原代码:

num = 3

def add(variable, number):
  variable += number

add(num, 2)
print(num)  # 运行后输出3

之所以结果还是3,是因为Python里整数属于不可变类型——当你把num传入函数时,variable只是拿到了num值的一个副本,函数内部对variable的累加操作,只会改变这个局部变量的指向,完全不会影响外部的num变量。

下面给你几种能把num改成5的方法:

方法1:让函数返回修改后的值,重新赋值(推荐)

这是Python里最常规的做法,通过返回值传递修改结果,逻辑清晰,也符合函数的设计原则。

num = 3

def add(variable, number):
  variable += number
  return variable

num = add(num, 2)
print(num)  # 输出5

方法2:用可变对象包裹数值

列表是可变类型,函数内部对列表元素的修改会直接作用于原对象,不用返回值也能生效。

num = [3]  # 把数值放进列表里

def add(variable, number):
  variable[0] += number  # 修改列表的第一个元素

add(num, 2)
print(num[0])  # 输出5

方法3:用global关键字(不推荐)

直接在函数里声明num是全局变量,就能直接修改它,但这种写法会破坏代码的封装性,后续维护起来容易出问题,只适合简单场景用。

num = 3

def add(number):
  global num  # 声明使用全局的num
  num += number

add(2)
print(num)  # 输出5

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 18:24:29