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 版本是 python2.x,它不具有打印功能。因此,它打印参数,一个空元组 ()
, 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()
>>>
我正在编写一个非常简单的井字棋程序来自学 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 版本是 python2.x,它不具有打印功能。因此,它打印参数,一个空元组 ()
, 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()
>>>