为什么用Python打印函数的返回值?

为什么用Python打印函数的返回值?,python,python-3.x,Python,Python 3.x,对python来说非常陌生,尝试一下这个- def newlines(): print() print() print() question = "Which online Course you have signed up, dude?" response = "Good Luck to you, dude!" print(question), newlines(), input(), newlines(), print(response) 在Python 3

对python来说非常陌生,尝试一下这个-

def newlines():
    print()
    print()
    print()    
question = "Which online Course you have signed up, dude?"
response = "Good Luck to you, dude!"
print(question), newlines(), input(), newlines(), print(response)
在Python 3.2中。*输出如下

Which online Course you have signed up, dude?



Nothing



Good Luck to you, dude!

(None, None, "Nothing", None) # Where this output is coming from ?
在编写以下内容时,python 3.3 beta版也不会出现这种情况:

打印(问题)、换行符()、输入()、换行符()、打印(响应)

它实际上是一个元组,保存每个函数的结果

只需将各条线路上的电话分开就可以解决您的问题

print(question)
newlines()
input()
newlines()
print(response)

你必须在交互式shell上。当我将代码作为文件运行时,我得到以下输出:

$ python3.2 test.py
Which online Course you have signed up, dude?



dlkjdf



Good Luck to you, dude!
$
您只能在控制台上获得输出:

>>> def newlines():
...     print()
...     print()
...     print()    
... 
>>> question = "Which online Course you have signed up, dude?"
>>> response = "Good Luck to you, dude!"
>>> 
>>> print(question), newlines(), input(), newlines(), print(response)
Which online Course you have signed up, dude?



dljdldk



Good Luck to you, dude!
(None, None, 'dljdldk', None, None)
>>> 
这是因为控制台将打印您最后键入的内容的表示形式。最后一条语句实际上是一个元组,因此它会在最后打印出来。以下是一些例子:

>>> 3
3
>>> 4
4
>>> 3, 4, None, "hey"
(3, 4, None, 'hey')

+1不管其他答案中的信息如何,你都应该这样写<代码>,在Python中不是语句分隔符。如果你想按顺序做几件事,那么就按顺序做几件事。