1.函数多个返回值

python的函数支持返回多个值。返回多个值时,默认以tuple的方式返回。

例如,下面两个函数的定义是完全等价的。

def f():
    return 1,2

def f():
    return (1,2)

如果将函数调用的返回值赋值给对应个数的变量,它会一一对应的赋值,这很容易理解。

下面是等价的:

a, b = f()     # a=1, b=2
(a, b) = f()

如果赋值给一个变量,将会把整个元组赋值给变量。下面是等价的,a表示整个元组(1,2):

a = f()
(a) = f()

2.丢弃返回值

很多时候,多个返回值并非全都是所需的,这时候需要丢弃某些返回值。python有几种方式只获取部分返回值:

1.直接放在空上下文,不进行任何赋值,将丢弃所有返回值

# f()的返回值全丢弃
f()

2.因为返回值是元组,所以可以通过索引取得某个或某几个返回值

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
a = f()[0]
b = f()[1]

3.使用下划线_

# 丢弃第二个返回值
a, _ = f()

4.使用双下划线__或更多下划线___________

# 丢弃第二个返回值
a, __ = f()

其中第三种方式"使用下划线"不是很安全,因为下划线_在python中有多种意义。

而且正好有两种意义在某些情况下可能会产生冲突。

所以,建议使用第四种方式。

更多推荐

Python教程:函数多个返回值与丢弃返回值