python 用字符串的方式读取变量名;字符串变成同名变量名

用字符串的方式读取变量名,
locals() 函数会以字典类型返回当前位置的全部局部变量。
输入

bili = 5
print(locals()['bili'])

输出

5

字符串变成同名变量名
输入

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__':
  haha = 42
  print (varname(haha))

输出

haha

你可能感兴趣的:(python)