亲宝软件园·资讯

展开

python自定义函数中的return和print使用及说明

敲来敲去CC 人气:0

首先,先来了解一下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的返回值了.

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

加载全部内容

相关教程
猜你喜欢
用户评论