This question already has answers here:
How is returning the output of a function different from printing it?
(9个答案)
5年前关闭。
可以说我定义了一个简单的函数,该函数将显示传递给它的整数:
输出将是相同的,但是我知道当在函数中使用
您期望得到什么输出?
为什么?
为什么?因为
资源
阅读python教程将为您介绍这些概念:http://docs.python.org/tutorial
这是有关python教程中的函数的一些信息:http://docs.python.org/tutorial/controlflow.html#defining-functions
(9个答案)
5年前关闭。
可以说我定义了一个简单的函数,该函数将显示传递给它的整数:
def funct1(param1):
print(param1)
return(param1)
输出将是相同的,但是我知道当在函数中使用
return
语句时,可以再次使用输出。否则,无法使用print
语句的值。但是我知道这不是正式的定义,谁能给我一个好的定义? 最佳答案
截然不同的事情。试想一下,如果我有这个python程序:
#!/usr/bin/env python
def printAndReturnNothing():
x = "hello"
print(x)
def printAndReturn():
x = "hello"
print(x)
return x
def main():
ret = printAndReturn()
other = printAndReturnNothing()
print("ret is: %s" % ret)
print("other is: %s" % other)
if __name__ == "__main__":
main()
您期望得到什么输出?
hello
hello
ret is : hello
other is: None
为什么?
为什么?因为
print
接受其参数/表达式并将其转储到标准输出,所以在我组成的函数中,print
将输出x
的值,即hello
。printAndReturn
将x
返回给方法的调用者,因此:ret = printAndReturn()
ret
将具有与x
相同的值,即"hello"
printAndReturnNothing
不返回任何内容,因此:other = printAndReturnNothing()
other
实际上变成了None
,因为这是python函数的默认返回值。 Python函数始终返回某些内容,但如果未声明return
,则该函数将返回None
。资源
阅读python教程将为您介绍这些概念:http://docs.python.org/tutorial
这是有关python教程中的函数的一些信息:http://docs.python.org/tutorial/controlflow.html#defining-functions
关于python - “print”和 “return”之间的形式差异是什么? [复制],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7664779/