python IDLE vs Mac终端打印声明

时间:2016-02-01 03:42:25

标签: python macos terminal python-idle

我正在编写一个非常简单的tic-tac-toe程序来自学Python。我刚刚开始学习使用命令行,当我在IDLE中运行代码或使用Mac终端时,我注意到了print语句的一些不同行为。我正在使用Python 3.4。

屏幕截图输出来自此功能:

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

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

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

Left is IDLE, right is Mac Terminal

2 个答案:

答案 0 :(得分:2)

那是因为在python 2中print不是函数,而是声明。 所以写作

print()

实际上是

print ()

这意味着:打印一个空元组。 因此,您的终端显然使用python 2.您可以尝试使用python3运行脚本。您的IDE使用python3,其中print是一个函数,print()表示:什么都不打印

答案 1 :(得分:2)

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()

>>> 
相关问题