5.3 return语句

return语句的作用上一节已经介绍了,return语句是函数的值。
关于return语句,总结如下:
(1)return语句返回的数据类型,就是函数的数据类型
(2)函数运行到return语句的时候,函数就结束了,因为函数的计算结果已经出来了。return后面的语句都不会被执行
(3)如果函数没有return语句,那么函数的值是None(没有)
例如下面的代码将打印一个None,因为参数是5的话 ,没有return语句。
def func(x):
    if x < 0:
        return x
print(func(5))
函数内部有分支结构的时候,要特别注意这个问题。要确保每个分支都有return语句。下面的例子就有分支没有return,运行后打印None
def func(x):
    if x > 0:
        return x
    elif x >-10:
        return -x
print(func(4))
print(func(-5))
print(func(-15))
例如func(-15),得到的值就是None

(4)如果函数本身并不计算任何值,那么这类函数的return后面不能接任何类型的值或表达式,也表示函数结束。
例如下面的代码,先检查参数,是不是为空,然后再打印,如果是空的就没必要打印了,直接返回。
def welcome(name):
    if name=="":
        return
    print("欢迎你"+name)
welcome("海绵宝宝")
下面的print1是一个没有返回值但又使用return语句的例子,如果不用return语句,可以用else来达到目的,如print2所示,这两个函数使用起来是一样的。都是打印两个参数较大的那个:
def print1(x,y):
    if x > y :
        print(x)
        return
    print(y)
 
def print2(x,y):
    if x > y:
        print(x)
    else:
        print(y)
无返回值的函数不能计算出一个值,作为最终的值,因为这类函数并不是用来计算值的,而是完成某些功能
我们经常使用的print函数,就是没有返回值的函数。

(5)函数可以同时返回多个值
一个函数计算多个值,这是python函数的重要特征。
我们来看看这个例子:
def abs(x,y):
    if x<0:
       x=-x
    if y<0:
       y=-y
    return x,y
a,b=abs(-6,-8)
print(a,b)
abs函数把两个参数的绝对值返回了,注意第9行代码的写法,a和b分别接收了-6和-8的绝对值
实际上,这种返回多个值的,是一种叫做元组(tuple)的数据类型,详细介绍点击:元组