我想问一下返回和打印之间的区别。
def x(n):
a=1
print a,n,
return a
print x(2)
如果我输入x(2)
,它会在控制台上输出:1 2
对吗?
仅在我键入print x(2)
时才变量第二次打印?
答案 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
),则会打印1
和2
,并且返回的值将不会使用。
答案 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。两者都采用一个位置参数,并返回或打印有价值的平方。
请注意,如果我给函数赋一个变量的参数,我可以通过调用变量来返回该值,函数返回一个值但不能打印该值的函数。