函数(二)函数返回值之返回多个返回值、返回条件运算表达式的值、返回函数对象、返回None

一、函数返回多个值

如果程序需要有多个返回值,既可将多个值包装成列表之后返回,也可直接返回多个值,如果 Python 函数直接返回多个值,Python 会自动将多个返回值封装成元组,在函数调用时则可以直接使用元组或者序列解包来接收该函数的返回值

def sun_adn_avg(list):
    sum = 0
    count = 0
    for e in list:
        if isinstance(e, int) or isinstance(e, float):
            count += 1
            sum += e
 
    return sum, sum / count
 
 
my_list = [20, 15, 2.8, 'a', 35, 5.9, -1.8]
tp = sun_adn_avg(my_list)
print(tp)

上面程序代码返回了多个值,当调用该函数时,该函数返回的多个值将会被自动封装成元组
因此程序看到 tp 是一个包含两个元素(由于被调用函数返回了两个值)的元组

也可使用 Python 提供的序列解包功能,直接使用多个变量接收函数返回的多个值

# 使用序列解包来获取多个返回值
s, avg = sum_and_avg(my_list) 
print(s)
print(avg)

序列解包传送门(https://blog.csdn.net/Wjf7496/article/details/109629154)

二、返回条件运算表达式的值

在 C、Java 中的条件运算符(?: )形式为:<表达式1> ? <表达式2> : <表达式3>
condition ? value_when_true : value_when_false

在python 中条件运算表达式的实现是
value_when_true if condition else value_when_false

def str_max(str1,str2):
   	if str1 > str2 
   		return str1
   	else 
    	return str2
    
def str_max(str1,str2):
    str = str1 if str1 > str2 else str2
    return str

def str_max(str1,str2):
    return str1 if str1 > str2 else str2

三、函数返回None

函数体中 return 语句有指定返回值时返回的就是其值
函数体中没有 return 语句时,函数运行结束会隐含返回一个 None 作为返回值,类型是 NoneType,与 return 、return None 等效,都是返回 None

四、空值None及其用法http://c.biancheng.net/view/5659.html

五、返回函数对象:局部函数传送门

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值