骏马金龙 (新博客:www.junmajinlong.com)

网名骏马金龙,钟情于IT世界里的各种原理和实现机制,强迫症重症患者。爱研究、爱翻译、爱分享。特借此一亩三分田记录自己成长点滴!!!

Python丢弃返回值

函数多个返回值

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()

丢弃返回值

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

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

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

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

a = f()[0]
b = f()[1]

3.使用下划线_

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

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

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

其中第三种方式"使用下划线"不是很安全,因为下划线_在python中有多种意义。而且正好有两种意义在某些情况下可能会产生冲突。所以,建议使用第四种方式。

posted @ 2018-12-09 16:36  骏马金龙  阅读(3876)  评论(0编辑  收藏  举报