正确使用印刷中的sep

时间:2015-10-03 21:49:39

标签: python macos syntax

我是python的新手,我在使用sep =时遇到了问题。 我想要做的是在25.之间没有空格

这是我的代码和我得到的错误。我在MAC OSX El Capitan的终端上运行此代码。

代码:

side = 5
area = side * side
print "The area of a square with side ",side,"is ",area,".",sep=" " 

输出:

print "The area of a square with side ",side,"is ",area,".",sep=" "

                                                               ^
SyntaxError: invalid syntax

2 个答案:

答案 0 :(得分:2)

sepprint() function的参数,它要求您使用Python 3或在Python 2中使用特殊的from __future__ import print_function语句(请参阅print() function documentation

正常的普通香草Python 2 print statement(您似乎正在使用它)不支持更改使用的分隔符。

由于分隔符总是一个空格,因此您根本不需要在此处指定它:

print "The area of a square with side ", side, "is ", area, "."

如果您想打印而不使用空格,请改用字符串格式:

print "The area of a square with side {} is {}.".format(side, area)

如果您使用的是使用print(foo, bar, baz sep='')或类似类似语法的Python 3教程,请安装Python 3,或者自己学习Python 2专用教程。

答案 1 :(得分:2)

python 2.x打印中不会显示参数,因为 print是一个声明 不是一个函数 即可。

您可以通过从print()模块导入

来使用future功能
from __future__ import print_function

首次导入.py文件。

然后 调用 打印(不要省略括号!):

# This call is valid by default for Python 3.x
# It is also valid for Python 2 if you import the print_function
print ("The area of a square with side", side, "is", area, ".", sep=" ")

或者,可以通过将Python 2间距添加到要打印的字符串中以及组合字符串的+运算符来显式添加# wrap int objects in str() to convert them to strings. print "The area of a square with side " + str(side) + " is " + str(area) + "." 间距:

python -V

检查您的python版本(在终端中运行{{1}})并阅读正确的文档Python 2Python 3