为什么在python中eval(“assert(True)”失败?
看看这个:为什么在python中eval(“assert(True)”失败?,python,eval,assert,Python,Eval,Assert,看看这个: >>> eval("assert(True)") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1 assert(True) ^ SyntaxError: invalid syntax 那么为什么evalingassert失败了呢?eval用于表达式断言是一
>>> eval("assert(True)")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
assert(True)
^
SyntaxError: invalid syntax
那么为什么evalingassert失败了呢?
eval
用于表达式<代码>断言是一条语句。你似乎认为这是一个函数
如果出于某种原因需要,您可以执行断言
this = silly = []
exec('assert this is silly')
eval
用于表达式<代码>断言是一条语句。你似乎认为这是一个函数
如果出于某种原因需要,您可以执行断言
this = silly = []
exec('assert this is silly')
eval
解析并执行表达式,而不是任意指令。您需要的是exec
eval
解析和执行表达式,而不是任意指令。您需要exec
。如果assert是一个语句,为什么它允许在它后面加上开括号和闭括号?@SaqibAliassert
甚至不知道语法中的括号,因为它是一个简单的语句(True)==True
如果assert是一条语句,为什么它允许在它后面加上开括号和闭括号?@SaqibAliassert
甚至不知道语法中的括号,同样是因为它是一条简单的语句<代码>(真)=真