【问题标题】:Getting output displayed for a each single line Python IDLE为每一行 Python IDLE 显示输出
【发布时间】:2020-07-04 08:57:11
【问题描述】:

我是 Python 新手,我目前正在 udemy.com 上开设关于“使用 Python 自动化无聊的东西”的在线课程。我有一个非常基本的问题,正如您在以下屏幕截图的突出显示部分中看到的那样: Displayed output in blue

此在线课程的作者只需在特定行上按一些键盘键,即可得到 haRegex.search 的蓝色输出。但在我的情况下,当我按下回车键时,我没有看到这样的输出。以前我使用 Spyder,只需按 F9 即可获得单行执行,控制台显示输出为 OUT:abcd。但是,现在自从更新到 Spyder 4.1.3 后,按下 F9 后,Spyder 将不会在控制台窗口中显示单行的输出。所以,我决定按照课程中的建议使用 Python IDLE,那么有人可以指导如何执行单行并将其输出显示为蓝色,如屏幕截图所示?我的代码如下:

>>> haRegex = re.compile(r'(Ha)(3)')
>>> haRegex.search('He said "HaHaHa"')
>>> 

【问题讨论】:

    标签: spyder python-idle


    【解决方案1】:

    您通过按 Enter 键完成输入行。如果代码完整,则执行。如果没有,您必须输入更多行。如果输入复合语句,其标题以“:”结尾,则必须输入额外的空行。

    如果执行结果为“无”,则不打印任何内容并打印“>>>”。否则打印结果。在您的示例中,haRegex 与搜索字符串不匹配,即使您认为它匹配,所以不会打印任何内容。使用 re 'Ha' 会有一个匹配。在 3.9 中,结果为<re.Match object; span=(9, 11), match='Ha'>

    Shell 输出颜色由当前语法高亮主题设置。对于白底黑字的普通文本,它目前是蓝色的,如屏幕截图所示。要检查,请选择 Options => Configure IDLE,然后选择 Highlights 选项卡,然后查看示例。如果您对任何内置主题不满意,请制作您更喜欢的自定义主题。

    【讨论】:

    • 您能否解释一下 re 'Ha' 的语法以便匹配?还有,作者怎么会得到匹配,如黄色高亮部分所示?
    • re 'Ha' 只匹配目标文本中任何出现的 'Ha'。黄色突出显示的 re 包含“{3}”(注意大括号),它匹配前一个项目“Ha”的 3 次出现。错误复制的“(3)”(圆括号)匹配“3”,它不在目标文本中。
    猜你喜欢
    • 2014-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多