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

Python中如何拼接字符串生成变量名并获取对应变量值传入函数?

解决方案

你原来的写法只是拼接出了变量名的字符串形式,Python不会自动将字符串映射为对应变量的值,可参考以下两种方案修改:

方案1:优先推荐:用字典存储数值(更易维护、更安全)

直接把所有编号对应的数值存在字典中,避免使用动态变量名,这是Python官方推荐的实现方式:

# 定义字典存储所有lab值
lab_values = {
    19: 100 - 50,
    20: 200 - 20,
    # 其他编号的对应值也按此格式添加
}

y = 1
while y < 21:
    # 存在对应编号时才传入,避免KeyError
    if y in lab_values:
        bundleRun(lab_values[y])
    y += 1

方案2:如果不想修改原有变量定义,通过作用域字典获取变量值

如果一定要保留你现在的labXX变量定义,可以通过globals()获取全局作用域的变量字典,或用locals()获取当前局部作用域的变量字典,用字符串形式的变量名取对应值:

y = 1
while y < 21:
    var_name = f'lab{y}'
    # 先判断变量是否存在,避免报错
    if var_name in globals():
        bundleRun(globals()[var_name])
    y += 1

注意:如果你的labXX变量是定义在某个函数内部,把上面代码里的globals()替换成locals()即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:30:00