2017-02-28 41 views
-1

以下代码将打印None,然后进行输入。如果我在print函数中传递一个字符串,它将打印它,然后是None,并期待输入。为什么打印None代码打印无,然后要求输入。为什么?

input(print()) 
+0

因为'print'什么都不返回? – Li357

+1

由于打印语句返回无,并且您要求输入任何打印返回 – abccd

+0

是否应始终打印返回的内容?即使我写入输入(print(“请输入项目”)),它将打印字符串并然后写无 –

回答

0

你有一个函数另一个函数内部:

input(print()) 

因此,什么是括号内将首先执行。由于打印语句不返回任何内容,input()功能将不会收到任何价值,这将是这样的:

input(None) 

由于input()功能在其括号打印任何东西,它打印“无”,并遵循在同一行上,它等待你的输入。然后,输入一个字符串并敲回车键后,该语句结束,因为您不会将其存储在任何地方。如果你在shell中,那么它将打印你在撇号之间输入的行。

+0

当其他语言返回void时,混淆实际上是面临的,它不会以字符串形式返回/值。所以在通常情况下它不会打印任何东西。 Python在这里玩的很不一样。但我现在明白了。 –

+0

是的,与C++相比,python是一种高级语言,与前者相比,其工作方式不同。无论如何,你能否选择我答案旁边的勾号?谢谢。 –

相关问题