在Mac上奇怪的Python打印行为

时间:2019-08-06 15:40:34

标签: python

这是我第一次在Mac上使用Python,我尝试打印此简单代码,该代码在我的朋友Windows os笔记本电脑上可以很好地运行,但是在我的mac上,它以不同的方式运行。这是我的屏幕和朋友屏幕上的外观。

我的屏幕:https://ibb.co/gRwwRJq 朋友屏幕:https://ibb.co/W31g1dg

有关如何解决该问题的任何建议?

2 个答案:

答案 0 :(得分:1)

一个人正在使用python 2.x,另一个人正在使用python 3.x

This个人正在使用python 2.x,而this个人正在使用python 3.x

使用以下链接查看结果之间的差异。

Python 2.7 -https://repl.it/repls/AstonishingOrnateDeclaration

Python 3.7 -https://repl.it/repls/AnotherBelovedSystemsanalysis

要使其与python 2.x相同,可以使用此repl或此repl

答案 1 :(得分:0)

在Python 3中,print是一个函数。在Python 2中(除非您使用from __future__ import print_function),这是一条语句。这对于如何处理括号具有微妙的含义。

print语句采用逗号分隔的表达式列表,并打印每个表达式并用单个空格分隔。 print(...)是一个print语句,带有一个带括号的表达式作为参数,因此print("a", "b")打印单个元组,而不是两个单独的字符串:

# Comma separates expressions in the statement
>>> print "a", "b"
a b
# Comma builds a tuple, which is the single expression
>>> print("a", "b")
('a', 'b')

print函数与其他任何函数一样;括号是函数调用语法的一部分,并且不影响各个参数的解释。要打印元组,您需要 additional 括号,以便将分隔ab的逗号视为元组构造函数,而不是参数分隔符。

# Comma separates arguments in the function call's argument list
>>> print("a", "b")
a b
# Comma builds a tuple, which is passed as the loan argument
>>> print(("a", "b"))
('a', 'b')