python変数名を同名文字列に変換する方法
1623 ワード
これはつまらない考えですが、
例えば、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
プロセスは次のとおりです.
結局spamの4文字を印刷しました
例えば、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文字を印刷しました