python的函数支持返回多个值。返回多个值时,默认以tuple的方式返回。python
例如,下面两个函数的定义是彻底等价的。安全
def f(): return 1,2 def f(): return (1,2)
若是将函数调用的返回值赋值给对应个数的变量,它会一一对应的赋值,这很容易理解。下面是等价的:函数
a, b = f() # a=1, b=2 (a, b) = f()
若是赋值给一个变量,将会把整个元组赋值给变量。下面是等价的,a表示整个元组(1,2):code
a = f() (a) = f()
不少时候,多个返回值并不是全都是所需的,这时候须要丢弃某些返回值。python有几种方式只获取部分返回值:索引
1.直接放在空上下文,不进行任何赋值,将丢弃全部返回值变量
# f()的返回值全丢弃 f()
2.由于返回值是元组,因此能够经过索引取得某个或某几个返回值co
a = f()[0] b = f()[1]
3.使用下划线_
return
# 丢弃第二个返回值 a, _ = f()
4.使用双下划线__
或更多下划线___________
# 丢弃第二个返回值 a, __ = f()
其中第三种方式"使用下划线"不是很安全,由于下划线_
在python中有多种意义。并且正好有两种意义在某些状况下可能会产生冲突。因此,建议使用第四种方式。