一、函数返回多个值
如果程序需要有多个返回值,既可将多个值包装成列表之后返回,也可直接返回多个值,如果 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