热门标签 | 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;因为没有任何东西可以使它成为有效的语法。在



推荐阅读
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了brain的意思、读音、翻译、用法、发音、词组、同反义词等内容,以及脑新东方在线英语词典的相关信息。还包括了brain的词汇搭配、形容词和名词的用法,以及与brain相关的短语和词组。此外,还介绍了与brain相关的医学术语和智囊团等相关内容。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • PHP中的单例模式与静态变量的区别及使用方法
    本文介绍了PHP中的单例模式与静态变量的区别及使用方法。在PHP中,静态变量的存活周期仅仅是每次PHP的会话周期,与Java、C++不同。静态变量在PHP中的作用域仅限于当前文件内,在函数或类中可以传递变量。本文还通过示例代码解释了静态变量在函数和类中的使用方法,并说明了静态变量的生命周期与结构体的生命周期相关联。同时,本文还介绍了静态变量在类中的使用方法,并通过示例代码展示了如何在类中使用静态变量。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
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社区 版权所有