• 三、函数返回值

    三、函数返回值

    通过上面的学习,可以知道通过 return [表达式] 语句用于退出函数,选择性地向调用方返回一个表达式。不带参数值的 return 语句返回 None。

    具体示例:

    1. # -*- coding: UTF-8 -*-
    2. def sum(num1,num2):
    3. # 两数之和
    4. if not (isinstance (num1,(int ,float)) and isinstance (num2,(int ,float))):
    5. raise TypeError('参数类型错误')
    6. return num1+num2
    7. print(sum(1,2))

    返回结果:

    1. 3

    这个示例,还通过内置函数isinstance()进行数据类型检查,检查调用函数时参数是否是整形和浮点型。如果参数类型不对,会报错,提示 参数类型错误,如图:

    检查函数参数是否正确

    当然,函数也可以返回多个值,具体实例如下:

    1. # -*- coding: UTF-8 -*-
    2. def division ( num1, num2 ):
    3. # 求商与余数
    4. a = num1 % num2
    5. b = (num1-a) / num2
    6. return b , a
    7. num1 , num2 = division(9,4)
    8. tuple1 = division(9,4)
    9. print (num1,num2)
    10. print (tuple1)

    输出的值:

    1. 2.0 1
    2. (2.0, 1)

    认真观察就可以发现,尽管从第一个输出值来看,返回了多个值,实际上是先创建了一个元组然后返回的。回忆一下,元组是可以直接用逗号来创建的,观察例子中的 ruturn ,可以发现实际上我们使用的是逗号来生成一个元组。