输出中的括号和引号

4
有时候当我使用打印功能时,输出中会出现括号和引号。我正在使用Python 3.4,在mac上使用Sublime Text编写代码。
以下是一个例子:
输入:
a=2
print("a",a)

输出:

('a', 2)

我希望只显示a和2。
提前感谢!

这是 Py2 的输出... Mac 在欺骗你。 - Bhargav Rao
在使用python.org上的默认安装程序安装python3之后,您的系统将拥有两个版本的python:预安装的python 2在路径中命名为python,而python 3在路径中命名为python3。在终端中键入python3即可执行Python 3,而仅键入python时则启动python 2。 - richie
3个回答

4

您似乎正在使用Python 2。

a = 2
print("a %i" % a)

使用以下代码应该可以得到您想要的结果。或者,使用更新的str.format()方法:

print("a {}".format(a))

在Python 3中,您的语句print("a",a)将按预期工作。请检查Sublime中的构建系统,确保您调用的是python3而不是python。运行此代码以查看实际使用的版本:
import sys

print(sys.version)

要创建一个Python 3构建系统,请打开一个新文件,使用JSON语法并包含以下内容:
{
    "cmd": ["python3", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

请将文件保存为 Packages/User/Python3.sublime-build,其中Packages是选择Sublime Text -> Preferences -> Browse Packages...时打开的文件夹。现在您可以选择Tools -> Build System -> Python3,假设python3在您的PATH中,您应该使用正确的版本进行编译。
如果编译失败并出现错误提示找不到python3,请打开终端并输入:
which python3

查看安装路径。复制整个路径并将其放入构建系统中。例如,如果 which python3 返回 /usr/local/bin/python3,那么您的 .sublime-build 文件中的 "cmd" 语句应该是:

"cmd": ["/usr/local/bin/python3", "-u", "$file"],

不是要反驳你的观点。print("a",a) 语句是正确的,但在 Py2 中输出是一个元组。它必须在 Py3 中工作。 - Bhargav Rao

3

您确定在Python 3解释器上执行吗? 在Python 2中,print是一个语句,因此不需要括号。

print ("a", 2) // parentheses are interpreted as a tuple constructor
>>> ('a', 2)

意思是相同的

print tuple(["a",2])
>>> ('a', 2)

或者在 Python 3 中:

print( ("a",2) )
>>> ('a', 2)

0

我认为你正在使用Python 2。在Python 2中,你不需要括号,可以直接按照以下方式编写代码:

print "a", a

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接