返回并打印功能

时间:2015-01-21 19:36:06

标签: python function return

我想问一下返回和打印之间的区别。

def x(n):
    a=1
    print a,n,
    return a
print x(2)

如果我输入x(2),它会在控制台上输出:1 2对吗? 仅在我键入print x(2)时才变量第二次打印?

3 个答案:

答案 0 :(得分:0)

写作时

print X(2)

然后用2作为参数调用函数X,让我们进去吧:

a=1
print a,2,
return a

它将打印1和2,然后返回值为1的a

自您编写print X(2)后,返回值(1)。

如果您已撰写X(2)(不包含print),则会打印12,并且返回的值将不会使用。

答案 1 :(得分:0)

def x(n):
    print n+1

现在,当调用x(5)时,它会将6打印到控制台。但是,如果您执行y=x(5)y的值将为None

现在:

def x(n):
    return x+1

如果您拨打x(5),它仍会将6打印到控制台。但是,如果您执行y=x(5),则y的值为6,而不是None

答案 2 :(得分:0)

这两个似乎做了类似的事情,但却完全不同。

大多数情况下,您将使用return作为函数的输出。使用print意味着:将某些内容打印为字符串(可能是文件或解释器等)。

此外,您无法对函数打印的值执行任何操作。返回一个值在这方面提供了更多,因为它不像打印值那样“垃圾收集”。

返回还允许您打破函数。

>>> def x(y):
...     squared = y ** 2
...     return squared
... 
>>> x(2)
4
>>> z = x(2)
>>> z
4
>>> def a(b):
...     squared = b ** 2
...     print(squared)
... 
>>> a(2)
4
>>> c = a(2)
4
>>> c
>>>

在这个例子中,我有两个函数:x和a。两者都采用一个位置参数,并返回或打印有价值的平方。

请注意,如果我给函数赋一个变量的参数,我可以通过调用变量来返回该值,函数返回一个值但不能打印该值的函数。