功能不打印预期结果

时间:2014-01-17 15:49:40

标签: python function

def white():
    print
print ("First line")
white()
print ("Second line")

这是我的第一个脚本之一。当我按下“F5”键时,结果如下:

First line
Second line

错误在哪里?

4 个答案:

答案 0 :(得分:8)

您正在使用其中print是函数的Python 3。在Python 2中print是一个语句,您的代码将按预期运行。

这一行:

print

不会调用该函数。它只是查找名称print。这并不会导致输出设备上出现任何问题。

你可能想要编写这样的实际调用函数的东西:

def white():
    print()

print ("First line")
white()
print ("Second line")

<强>输出

First line

Second line

答案 1 :(得分:3)

在Python 2中white()打印一个新行,而在Python 3中则不打印。

$ python2 /tmp/white.py
First line

Second line
$ python3 /tmp/white.py
First line
Second line

{2}和Python 3之间print的行为发生了变化。在Python 2中,print是一个关键字,只写print就会打印一个新行。

在Python 3 print是一个函数,需要括号。如果你只写print那么你有一个声明只是检索print函数但没有调用它,所以没有任何反应。要获得一个空行,您需要调用

def white():
    print()
print ("First line")
white()
print ("Second line")

答案 2 :(得分:1)

如果你使用的是python 3,那么'print'是一个函数,而不是一个语句。要打印一行,您需要实际调用它。

def white():
    print()

答案 3 :(得分:0)

如果您希望white()方法打印空格,则需要第二行的print语句看起来更像这样:print(" ")。对没有参数的print的调用不会做任何事情。