matlab中mstem函数的定义_python自定义函数中的return和print

首先,先来了解一下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有什么区别

很重要的一点区别就在与两者显示出来的值的结果.下边直接上传图片了,更直观一点

2e3fa66d7e78b712e18084971ad7b9b3.png

是不是能清楚的看出区别了,虽然用return和print都可以显示交互结果,但是如果要把函数作为参数传入别的函数时,就需要return的返回值了.

相关资源:MATLAB自定义函数
已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页