[英]Why syntax error messages for some built-in functions are different?
我最近注意到了一件奇怪的事。 我输入类似
exec code
而且我显然有一个错误。 错误描述是有趣的SyntaxError: Missing parentheses in call to 'exec'
。 我还没有找到其他可以提供类似详细功能的函数。 如果我有例如
eval code
我得到SyntaxError: invalid syntax
。 我发现的所有用户定义函数和所有内置函数(例如min
, filter
)的行为都相同。
为什么这些错误消息不一致?
由于exec code
在Python 2中是有效的语法,而在Python 3中则不是,因此此错误消息比一般的SyntaxError
更详细,因为在过渡时它非常(而且非常流行,就像exec
的用法一样)非常流行。从Python 2到Python 3。
尝试在Python 3中print string
时,您会得到确切的错误(只要定义了string
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.