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

Python如何根据用户输入的变量名获取对应变量值?

问题描述

需要实现根据用户输入的字符串指定要使用的变量,现有Python代码如下:

general_string = "this is just general string"
user_specfic_string = "this is user string"

def relevant_string_to_print(user_string):
    relevant_string = ""
    if user_string in vars():
       #此处逻辑不确定
    else:
       relevant_string = general_string
    
    print(relevant_string)


relevant_string_to_print("user_specfic_string")
relevant_string_to_print("arbitrary_string")

期望输出:

this is user string
this is just general string
解决方案

利用vars()函数返回的当前作用域变量字典,通过键名(用户输入的字符串)直接获取对应变量的值即可。完善后的代码如下:

general_string = "this is just general string"
user_specfic_string = "this is user string"

def relevant_string_to_print(user_string):
    relevant_string = ""
    if user_string in vars():
       # 通过变量名字符串获取对应变量的值
       relevant_string = vars()[user_string]
    else:
       relevant_string = general_string
    
    print(relevant_string)


relevant_string_to_print("user_specfic_string")
relevant_string_to_print("arbitrary_string")

关键说明

  • vars()在全局作用域调用时,会返回包含所有全局变量的字典,其中键是变量名的字符串形式,值是变量对应的内容。
  • 当用户输入的字符串存在于vars()的键集合中时,通过字典取值操作vars()[user_string]拿到目标变量的内容;不存在则使用默认的general_string。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 23:06:26