热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python显示括号错误_不带括号打印使用python3更改错误消息

print的特殊异常消息用作as语句而不是asfunction,实际上是作为一个特殊情况实现的。在粗略地说,当创建SyntaxError时,

print的特殊异常消息用作as语句而不是as function,实际上是作为一个特殊情况实现的。在

粗略地说,当创建SyntaxError时,它调用一个特殊函数,根据异常引用的行检查print语句。在static int

_report_missing_parentheses(PySyntaxErrorObject *self)

{

Py_UCS4 left_paren = 40;

Py_ssize_t left_paren_index;

Py_ssize_t text_len = PyUnicode_GET_LENGTH(self->text);

int legacy_check_result = 0;

/* Skip entirely if there is an opening parenthesis

left_paren_index = PyUnicode_FindChar(self->text, left_paren,

0, text_len, 1);

if (left_paren_index <-1) {

return -1;

}

if (left_paren_index !&#61; -1) {

/* Use default error message for any line with an opening parenthesis

return 0;

}

/* Handle the simple statement case */

legacy_check_result &#61; _check_for_legacy_statements(self, 0);

if (legacy_check_result <0) {

return -1;

}

if (legacy_check_result &#61;&#61; 0) {

/* Handle the one-line complex statement case */

Py_UCS4 colon &#61; 58;

Py_ssize_t colon_index;

colon_index &#61; PyUnicode_FindChar(self->text, colon,

0, text_len, 1);

if (colon_index <-1) {

return -1;

}

if (colon_index >&#61; 0 && colon_index

/* Check again, starting from just after the colon */

if (_check_for_legacy_statements(self, colon_index&#43;1) <0) {

return -1;

}

}

}

return 0;

}

这意味着如果行中有任何左括号&#xff0c;它将不会触发“缺少括号”消息。这会导致一般的SyntaxError消息&#xff0c;即使左括号在注释中&#xff1a;

^{2}$

请注意&#xff0c;用空格分隔的两个名称/变量的光标位置始终是第二个名称的结尾&#xff1a;>>> 10 100

10 100

^

SyntaxError: invalid syntax

>>> name1 name2

name1 name2

^

SyntaxError: invalid syntax

>>> name1 name2([1, 2])

name1 name2([1, 2])

^

SyntaxError: invalid syntax

因此&#xff0c;光标指向max的x&#xff0c;因为它是第二个名称中的最后一个字符。第二个名称后面的所有内容(如.&#xff0c;(&#xff0c;[&#xff0c;…)都将被忽略&#xff0c;因为Python已经找到了一个SyntaxError&#xff0c;它不需要进一步&#xff0c;因为没有任何东西可以使它成为有效的语法。在



推荐阅读
author-avatar
jinglongyy70
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有