我是靠谱客的博主 高高小蜜蜂,最近开发中收集的这篇文章主要介绍python中syntaxerror什么意思_在Python中,“SyntaxError:调用'print'时缺少括号”是什么意思?...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

此错误消息表示您尝试使用Python 3来关注示例或运行使用Python 2 print 语句的程序:

打印“你好,世界!”

上面的语句在Python 3中不起作用 . 在Python 3中,您需要在要打印的值周围添加括号:

print("Hello, World!")

“SyntaxError:调用'print'时缺少括号”是Python 3.4.2中添加的新错误消息,主要是为了帮助那些在运行Python 3时尝试遵循Python 2教程的用户 .

在Python 3中,打印值从一个不同的语句变为一个普通的函数调用,所以它现在需要括号:

>>> print("Hello, World!")

Hello, World!

在早期版本的Python 3中,解释器只报告一般语法错误,而不提供任何有用的提示,指出可能出现的问题:

>>> print "Hello, World!"

File "", line 1

print "Hello, World!"

^

SyntaxError: invalid syntax

至于为什么 print 成为Python 3中的普通函数,它与语句的基本形式无关,而是与你如何做更复杂的事情,比如用尾随空格打印多个项目到stderr而不是结束行 .

在Python 2中:

>>> import sys

>>> print >> sys.stderr, 1, 2, 3,; print >> sys.stderr, 4, 5, 6

1 2 3 4 5 6

在Python 3中:

>>> import sys

>>> print(1, 2, 3, file=sys.stderr, end=" "); print(4, 5, 6, file=sys.stderr)

1 2 3 4 5 6

从2017年9月的Python 3.6.3版本开始,一些与Python 2.x打印语法相关的错误消息已经更新,以推荐他们的Python 3.x版本:

>>> print "Hello!"

File "", line 1

print "Hello!"

^

SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Hello!")?

由于“调用打印时缺少括号”的情况是编译时语法错误,因此可以访问原始源代码,因此可以在建议替换中的行的其余部分包含全文 . 但是,它目前没有尝试找出适当的引号来放置该表达式(这不是不可能的,只是足够复杂而没有完成) .

为右移操作员募集的 TypeError 也已定制:

>>> print >> sys.stderr

Traceback (most recent call last):

File "", line 1, in

TypeError: unsupported operand type(s) for >>: 'builtin_function_or_method' and '_io.TextIOWrapper'. Did you mean "print(, file=)"?

由于在代码运行时引发此错误,而不是在编译时引发错误,因此它无法访问原始源代码,因此在建议的替换表达式中使用元变量( 和 )而不是用户实际输入 . 与语法错误情况不同,在自定义右移错误消息中围绕Python表达式放置引号是很简单的 .

最后

以上就是高高小蜜蜂为你收集整理的python中syntaxerror什么意思_在Python中,“SyntaxError:调用'print'时缺少括号”是什么意思?...的全部内容,希望文章能够帮你解决python中syntaxerror什么意思_在Python中,“SyntaxError:调用'print'时缺少括号”是什么意思?...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部