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

Python中如何将输入的变量名转换为对应变量值输出

Python输入字符串匹配已定义变量输出对应值的实现方法

核心原因:input() 读取到的所有内容默认都是字符串格式,不会自动关联代码中定义的同名变量,需要手动做变量名到值的匹配逻辑。

推荐实现(无安全风险)

用字典提前维护变量名和对应值的映射关系,逻辑完全可控,不会有恶意代码执行风险,生产环境也可使用:

# 定义变量名和值的对应关系
var_dict = {
    "a": 1,
    "b": 2,
    "c": 3
}
name = input('Encode ')
# 拆分输入的内容,逐个从映射里取对应的值
output_list = []
for item in name.split(','):
    # 自动过滤输入内容里不小心带的前后空格
    key = item.strip()
    output_list.append(str(var_dict[key]))

# 输出1,2,3格式
print(','.join(output_list))
# 如果要输出1 2 3格式,替换成下面这句即可
# print(' '.join(output_list))

简化实现(仅适合本地测试用)

如果只是本地写临时测试脚本,可以直接用locals()获取当前作用域的变量表来取值,注意不要在对外暴露的程序里用这个方法,避免恶意输入带来风险:

a = 1
b = 2
c = 3
name = input('Encode ')
output_list = [str(locals()[item.strip()]) for item in name.split(',')]
print(','.join(output_list))

注意:不要图省事用eval()处理输入,一旦输入内容是可执行的恶意代码,会直接在你的设备上运行,存在极高安全风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 12:03:26