Python中return的用法

发布时间:2023-05-09

一、return的作用

在编写Python函数时,使用关键字return可以将函数调用的结果返回给调用者。

def add(a,b):
    c = a + b
    return c
result = add(2,3)
print(result) # 输出结果为5

可以看到,在add()函数中,使用return将计算结果c返回给了函数调用者。在调用时将返回值赋给result变量,最终输出结果为5。

二、return与多个返回值

在Python中,使用return可以返回多个对象。这些对象可以是Python内置数据类型,如字符串、数字、列表、元组、字典等。也可以是自定义的类实例或其他对象。

def get_info():
    name = '张三'
    age = 18
    sex = '男'
    hobby = ['编程', '打球', '游泳']
    return name, age, sex, hobby
result = get_info()
print(result) # 输出结果为('张三', 18, '男', ['编程', '打球', '游泳'])

get_info()函数中,使用return关键字返回了四个对象,包括字符串、数字、列表。在函数调用时,将返回值赋给了result变量,最终输出了四个对象。

三、return与条件语句

使用条件语句可以在函数中根据需求选择是否返回结果。常见的应用场景例如判断函数参数是否符合要求,或在函数执行失败时返回错误信息。

def divide(a,b):
    if b == 0:
        return '除数不能为零'
    else:
        return a/b
result1 = divide(10,2)
result2 = divide(10,0)
print(result1) # 输出结果为5.0
print(result2) # 输出结果为'除数不能为零'

divide()函数中,先对参数b进行判断,如果为0则直接返回错误信息,否则进行除法运算并返回计算结果。

四、return与递归函数

递归函数是指在函数的定义中又调用函数本身的函数。在递归函数中使用return可使得函数在满足条件时退出递归调用。

def factorial(n):
    if n == 1:
        return 1
    else:
        return n * factorial(n-1)
result = factorial(5)
print(result) # 输出结果为120

factorial()函数中,如果传入的参数n等于1,则返回1。否则将n与递归调用factorial(n-1)的结果相乘。在调用时,函数将反复调用自身直到满足退出条件后,将计算结果返回给调用者。

五、return空值与None

在Python中,使用return也可不返回任何结果,表示函数执行完毕后不返回任何对象。

def hello():
    print('Hello World!')
    return
result = hello()
print(result) # 输出结果为None

hello()函数中,虽然有使用return语句,但并未返回任何值。在函数调用时将返回值赋给result变量后,输出结果为None

六、总结

return是Python函数中一个非常重要的关键字,它用于控制函数返回值以及函数执行流程。不同的使用场景需要掌握不同的使用方法,例如返回单个值、多个值、空值以及配合条件语句和递归函数使用。