这是很无聊的一个想法,,
例如说,a=123
打印出来的时候,效果是这样::“a:3”如何不手动把a这个字串符输入进去呢?
见知乎:https://www.zhihu.com/question/42768955
还有stackoverflow:https://stackoverflow.com/questions/592746/how-can-you-print-a-variable-name-in-python
过程如下:
import inspect, re def varname(p): for line in inspect.getframeinfo(inspect.currentframe().f_back)[3]: m = re.search(r'\bvarname\s*\(\s*([A-Za-z_][A-Za-z0-9_]*)\s*\)', line) if m: return m.group(1) if __name__ == '__main__': spam = 42 print (varname(spam))
结果就是把spam 这4个字母打印出来了