现在用python一般都是赋值, 但是 我想把变量名直接给打印出来,而不是 它的值。老之前就想弄,但一直 没有上心这个事情。今天终于找到了相关的参考:
import inspect
def retrieve_name(var):
callers_local_vars = inspect.currentframe().f_back.f_locals.items()
return [var_name for var_name, var_val in callers_local_vars if var_val is var]
name, address, age, gender = "bob", "hangzhou", 21, "man"
person = {}
for i in [name, address, age, gender]:
person[retrieve_name(i)[0]] = i
print person
是想要的效果:
主要参考:
https://blog.csdn.net/zjuxsl/article/details/93893192
网友评论