dct={'t1':2>1,'t2':'a'=='b'}
dct 值为 True 或 False。使用 dct['t1'] 时,它将返回 True。但我想返回原始表达式,这意味着 '2>1'
(类型为字符串)。
答案 0 :(得分:1)
用 Python 编写并执行的表达式将被评估,它不再作为表达式存在。 IE。 x = 1 + 2
将值 3
分配给 x
,没有记忆它是评估 1 + 2
的结果。
但就像在源代码中一样,您可以将表达式保存为字符串。毕竟,这就是你的源代码,只是一个长文本字符串。
所以:
dct = {'t1': "2>1", 't2': "'a'=='b'"}
print(dct['t1'])
print(eval(dct['t1']))
但是,请记住,eval()
仅应在您确实需要跟踪此类内容的情况下使用。通常,使用 eval()
效率不高,而且可能非常危险,具体取决于这些字符串的来源。