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

如何在Python的另一个函数中访问并使用另一函数内的变量

解决方案

你的核心问题是函数内部的局部变量无法被其他函数直接访问,func1里的my_list是该函数的局部变量,func2必须通过参数传递才能拿到它。下面是两种可行的实现方式:

方式一:在func1内部调用func2并传递my_list

直接在func1里生成my_list后,把它作为参数传给func2,这样func2就能操作它的元素了:

def func1(my_list, test1, test2):
    my_list = [ {'name': 'Saeed', 'id': 1}, {'name': 'David', 'id': 2} ]
    # 把my_list传给func2
    func2(my_list)


def func2(name):
    name[0]['id'] += 1

调用func1后,my_list[0]['id']会被修改为2。

方式二:让func1返回my_list,外部调用时传给func2

如果需要在func1外部操作这个列表,可以让func1返回它,再在外部传递给func2:

def func1(my_list, test1, test2):
    my_list = [ {'name': 'Saeed', 'id': 1}, {'name': 'David', 'id': 2} ]
    return my_list


def func2(name):
    name[0]['id'] += 1

# 外部调用示例
result_list = func1(None, "test1_val", "test2_val")
func2(result_list)
print(result_list[0]['id'])  # 输出2

注意:你原来的func1参数里也有一个my_list,但函数内部直接重新赋值覆盖了它,这个参数如果没用可以考虑删除,避免混淆。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 09:13:13