当我尝试print在Python中使用语句时,它给了我这个错误:
>>> print "Hello, World!"
File "<stdin>", line 1
print "Hello, World!"
^
SyntaxError: Missing parentheses in call to 'print'
Run Code Online (Sandbox Code Playgroud)
那是什么意思?
为什么在Python 3中打印字符串时会收到语法错误?
>>> print "hello World"
File "<stdin>", line 1
print "hello World"
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud) 这个问题困扰了我很长一段时间(正如我之前的问题所证明的那样):为什么确实print(x)更好(定义为比pythonic更好)print x?
对于那些不知道的人,print声明在Python 3.0中被改为函数.正式文件在PEP 3105中,动机在Guido van Rossum的电子邮件中.
对于这些观点,我想提出一个对立点:
import我们将其作为语句编写,尽管它们的功能实际上与函数重复__import__
print不属于通用应用程序逻辑.对他们来说,这是一个神秘的运营商,这是他们的计划的高潮.他们希望它看起来不同.print在应用程序级别上可以复制功能并不是很明显.例如,有时我想从控制台重定向打印作为模态操作系统对话框.print语句都重写为函数,但是他们迫使每个Python 2.x开发人员都为他们的所有项目做了这样的事情.好,自动转换器并不难.print如果print是一个声明包装函数,那么喜欢有能力操作函数的每个人都会得到很好的服务__print__.那么,我们能不能在Stack Overflow页面上对这个问题做出规范的回答?
我使用的是Python 2.7.当我尝试将简单字符串打印到文件时,出现以下错误:
语法错误:无效的元组
检测元组时出现语法错误
最小的例子:
fly = open('workfile', 'w')
print('a', file=fly)
Run Code Online (Sandbox Code Playgroud)
通过fly.write('a')工作写到同一个文件就好了.