假设我定义了一个简单的函数,它将显示传递给它的整数:
def funct1(param1):
print(param1)
return(param1)
输出将是相同的,但是我知道当return
语句在函数中使用,输出可以再次使用。print
不能使用语句。
答案
截然不同的事情。
#!/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
, IE。"hello"
printAndReturnNothing
不返回任何内容,所以:other = printAndReturnNothing()
other
实际上变成None
因为这是 python 函数的默认返回值。 return
被声明后,该函数将返回None
。
资源
通过 Python 教程将向您介绍以下概念:http://docs.python.org/tutorial
以下是 python 教程中有关函数的一些内容:http://docs.python.org/tutorial/controlflow.html
像往常一样,这个示例演示了一些新的 Python 功能:
return 语句返回函数的值。