Saq*_*Ali 1 python assert eval
看这个:
>>> eval("assert(True)")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
assert(True)
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
评估像这样的其他功能工作正常:
>>> eval("str(5)")
'5'
Run Code Online (Sandbox Code Playgroud)
那么为什么evaling断言失败?
eval用于表达.assert是一份声明.你似乎认为它是一种功能,但事实并非如此.
exec如果你出于某种原因想要,你可以断言.
this = silly = []
exec('assert this is silly')
Run Code Online (Sandbox Code Playgroud)