python自定义函数中的return和print使用及说明
作者:敲来敲去CC
首先,先来了解一下return
以下所有代码都是在jupyter notebook中运行的.
自定义函数时
用return语句指定返回值,即函数运行最后得出的结果
举个例子:
def Add(x,y): z = x+y return z
def Ad(x,y): z = x+y return x
上边是我定义的两个函数,除了名字不一样之外,唯一不同的就是return后的返回值,那么运行的结果是怎样的呢?
Add(1,2)
返回值 3
Ad(1,2)
返回值1
形成这样结果的原因就在于Add函数的返回值是两个参数的和,Ad函数返回的是第一个参数的值,所以函数运行最后的返回值是什么,除了函数内部代码块的运行之外,很重要得意一点在于自定义函数最后要求返回的值是什么。
函数代码块执行到return语句时,会退出函数,就算后边还有属于自定义函数的代码,也不会被执行
再举个例子:
def Add_1(x,y): z = x+y return z print(x,y)
在前边例子的基础上,加了一行代码,这行代码要达到的效果是打印出传入的参数值,我们看下执行效果
Add_1(1,2)
返回值3
并没有打印传入的参数值,因为代码执行到return语句就结束了,后边的代码不会被执行。
如果return后还有代码需要被执行怎么办?
可以将return语句放在try…finally语句中,return语句被执行后会继续执行finally后的语句。
来,还是举个例子:
def Add_2(x,y): try: z = x+y return z finally: print(x,y)
依然是在上一个例子的基础上进行了一点点改动,那么来看一下运行的结果吧
(这里加上In[]和Out[]方便看)
In[2]: Add_2(1,2)
返回结果
1 2
Out[2]: 3
很明显return后的代码也被执行了!
不加return语句会有怎样的结果
不加return语句,就没有返回值
举个例子:
def Add_3(x,y): x+y
这样自定义函数不会报错,也可以运行,我们看一下调用函数的结果
Add_3(1,2)
执行后,不会显示结果。那么不用return是不是就不能看到函数运行结果了?
当然不是,用print也可以显示结果,还是举个例子来看:
def Add_4(x,y): print(x+y)
来看下函数调用的结果:
Add_4(1,2)
返回值3
可以显示结果,但是和其他print函数打印出来的结果一样,没有Out[]标识。
如果不是很理解这句话的意思也没关系,我来看一个迷糊很多人的问题
在自定义函数中,return和print有什么区别
很重要的一点区别就在与两者显示出来的值的结果。
下边直接上传图片了,更直观一点
是不是能清楚的看出区别了,虽然用return和print都可以显示交互结果,但是如果要把函数作为参数传入别的函数时,就需要return的返回值了.
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。