2024-04-18 23:54:00 发布
网友
dct={'t1':2>1,'t2':'a'=='b'}
dct值为真或假。使用dct['t1']时,它将返回True。但是我想返回原始表达式,这意味着'2>1'(类型是string)
'2>1'
将对用Python编写并执行的表达式进行求值,它不再作为表达式存在。也就是说x = 1 + 2将值3赋值给x,没有记忆表明这是计算1 + 2的结果
x = 1 + 2
3
x
1 + 2
但是就像在源代码中一样,可以将表达式保存为字符串。毕竟,这就是您的源代码,只是一个长文本字符串
因此:
dct = {'t1': "2>1", 't2': "'a'=='b'"} print(dct['t1']) print(eval(dct['t1']))
但是,请记住eval()只应在您确实需要跟踪此类内容的情况下使用。通常,使用eval()是没有效率的,并且可能非常危险,这取决于这些字符串来自何处
eval()
将对用Python编写并执行的表达式进行求值,它不再作为表达式存在。也就是说
x = 1 + 2
将值3
赋值给x
,没有记忆表明这是计算1 + 2
的结果但是就像在源代码中一样,可以将表达式保存为字符串。毕竟,这就是您的源代码,只是一个长文本字符串
因此:
但是,请记住
eval()
只应在您确实需要跟踪此类内容的情况下使用。通常,使用eval()
是没有效率的,并且可能非常危险,这取决于这些字符串来自何处相关问题 更多 >
编程相关推荐