python 如何将变量名转化为同名字符串

这是很无聊的一个想法,,

例如说,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个字母打印出来了

猜你喜欢

转载自blog.csdn.net/qq_38282706/article/details/80665316