python IDLE 与 Mac 终端打印语句

python IDLE vs Mac Terminal print statement

我正在编写一个非常简单的井字棋程序来自学 Python。我也刚刚开始学习使用命令行,当我 运行 我的代码处于 IDLE 或使用 Mac 终端时,我注意到打印语句有一些不同的行为。我正在使用 Python 3.4.

截图输出来自这个函数:

def print_board(board):
    for row in board:
        row = " ".join(row)
        print(row)
    print()

最后的打印语句是用来创建一个空白行的。当代码在 IDLE 中为 运行 时,它按预期工作(见屏幕截图的左侧),但是当在 Mac 终端中为 运行 时,它会打印函数调用中的括号。

任何人都可以向我解释为什么会这样吗?

那是因为在python2中print不是一个函数,而是一个语句。 所以写

print()

实际上是

print ()

这意味着:打印一个空元组。 所以你的终端显然使用 python 2。你可以尝试 运行 你的脚本 python3。您的 IDE 使用 python3,其中 print 是一个函数,而 print() 表示:不打印任何内容

您 Mac 终端中的默认 python 版本是 ,它不具有打印功能。因此,它打印参数,一个空元组 (), out.

:

>>> import sys;sys.version
'2.7.6 (v2.7.6:3a1db0d2747e, Nov 10 2013, 00:42:54) \n[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]'
>>> print()
()
>>> 

:

>>> import sys;sys.version
'3.4.0b2 (v3.4.0b2:ba32913eb13e, Jan  5 2014, 11:02:52) \n[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]'
>>> print()

>>>