Python中如何打印变量名称而非其计算结果?
解决方法
当你把变量存入列表时,列表实际存储的是变量的值,而非变量名本身。要实现打印变量名的需求,可以用以下两种简单方式:
方法1:直接存储变量名字符串
把变量名以字符串形式存入列表,打印时直接输出字符串即可。如果需要用到变量的值,可通过globals()或locals()全局/局部命名空间获取:
x = 1 + 1 y = 2 + 2 z = 3 + 3 var_names = ['x', 'y', 'z'] # 打印变量名 for name in var_names: print(name) # 如果需要同时获取值 for name in var_names: print(f"{name} = {globals()[name]}")
输出:
x y z x = 2 y = 4 z = 6
方法2:使用字典映射变量名与值
用字典存储变量名(键)和对应的值(值),这样既可以方便获取变量名,也能随时拿到对应的值:
x = 1 + 1 y = 2 + 2 z = 3 + 3 var_dict = {'x': x, 'y': y, 'z': z} # 打印所有变量名 for name in var_dict.keys(): print(name) # 打印变量名和对应值 for name, value in var_dict.items(): print(f"{name} = {value}")
输出:
x y z x = 2 y = 4 z = 6
注意:不要用
list作为变量名,它是Python内置类型,会覆盖原有功能。
内容的提问来源于stack exchange,提问作者Yousof
相关产品推荐
相关产品推荐

