python函数返回值

本文介绍了Python函数中return语句的使用,用于返回处理结果。函数可以返回任意类型的值,一个函数中可以有多个return语句,但只会执行其中一个并结束函数。此外,还讲解了如何通过列表或元组返回多个值,以及如何通过解包直接接收这些值。示例代码展示了不同返回多值的方法及其应用。
摘要由CSDN通过智能技术生成

到目前为止,我们创建的函数都只是对传入的数据进行了处理,处理完了就结束。但实际上,在某些场景中,我们还需函数将处理的结果反馈回来,就好像主管向下级员工下达命令,让其去打印文件,员工打印好文件后并没有完成任务,还需要将文件交给主管。

用 def 语句创建函数时,可以用 return 语句指定应该返回的值,该返回值可以是任意类型。需要注意的是,return 语句在同一函数中可以出现多次,但只要有一个得到执行,就会直接结束函数的执行。

函数中,使用 return 语句的语法格式如下:

[return [返回值]]

其中,返回值参数可以指定,也可以省略不写(将返回空值 None)。

【例 1】

def add(a,b):
    c = a + b
    return c
#函数赋值给变量
c = add(3,4)
print(c)
#函数返回值作为其他函数的实际参数
print(add(3,4))

运行结果为:

7
7

本例中,add() 函数既可以用来计算两个数的和,也可以连接两个字符串,它会返回计算的结果。

通过 return 语句指定返回值后,我们在调用函数时,可以将函数结果赋值给一个变量,用变量保存函数的返回值,也可以将函数结果直接作为某个函数的实际参数。

【例 2】

def isGreater0(x):
    if x > 0:
        return True
    else:
        return False
print(isGreater0(5))
print(isGreater0(0))

运行结果为:

True
False

可以看到,函数中可以同时包含多个 return 语句,但需要注意的是,最终真正执行的做多只有 1 个,且一旦执行,函数运行会立即结束。

返回多个值的方法

通常情况下,一个函数只有一个返回值,实际上 Python 也是如此,只不过 Python 函数能以返回列表或者元组的方式,将要返回的多个值保存到序列中,从而间接实现返回多个值的目的。

因此,实现 Python 函数返回多个值,有以下 2 种方式:

  1. 在函数中,提前将要返回的多个值存储到一个列表或元组中,然后函数返回该列表或元组;
  2. 函数直接返回多个值,之间用逗号( , )分隔,Python 会自动将多个值封装到一个元组中,其返回值仍是一个元组。


下面程序演示了以上 2 种实现方法:

def retu_list() :
    add = ["http://c.biancheng.net/python/",\
        "http://c.biancheng.net/shell/",\
        "http://c.biancheng.net/golang/"]
    return add

def retu_tuple() :
    return "http://c.biancheng.net/python/",\
        "http://c.biancheng.net/golang/",\
        "http://c.biancheng.net/golang/"

print("retu_list = ",retu_list())
print("retu_tuple = ",retu_tuple())

程序执行结果为:

retu_list =  ['http://c.biancheng.net/python/', 'http://c.biancheng.net/shell/', 'http://c.biancheng.net/golang/']
retu_tuple =  ('http://c.biancheng.net/python/', 'http://c.biancheng.net/golang/', 'http://c.biancheng.net/golang/')


在此基础上,可以利用 Python 提供的序列解包功能,使用对应数量的变量,直接接收函数返回列表或元组中的多个值。这里以 retu_list() 为例:

def retu_list() :
    add = ["http://c.biancheng.net/python/",\
        "http://c.biancheng.net/shell/",\
        "http://c.biancheng.net/golang/"]
return add

pythonadd,shelladd,golangadd = retu_list()

print("pythonadd=",pythonadd)
print("shelladd=",shelladd)
print("golangadd=",golangadd)

程序执行结果为:

pythonadd= http://c.biancheng.net/python/
shelladd= http://c.biancheng.net/shell/
golangadd= http://c.biancheng.net/golang/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值