按照习惯,有时候单个独立下划线是用作一个名字,来表示某个变量是临时的或无关紧要的。
例如,在下面的循环中,我们不需要访问正在运行的索引,我们可以使用“_”来表示它只是一个临时值,
如下例子:

for _ in range(10):
	print('Hello, World.')

# 求在字典列表中的元组中的值求和
dict_list_sum = {1: [(3, 6), (7, 6), (6, 1), (9, 0), (1, 10)], 2: [(8, 1), (4, 8), (1, 9)]}
total = {k: (sum(i for _, i in v),) for k, v in dict_list_sum.items()}
print(total)

#for k, v in dict_list_sum.items():
#    for _, i in v:
#       print(_, i)

Python等于中的数 python中__使用场景

换句话说,“”最常见的一种使用场景是作为变量占位符,使用场景明显可以减少代码中多余变量的使用。为了更好地理解,可以把“”看作被丢弃的变量名称,这样做可以让阅读代码的人知道,这个是不会被使用的变量。

你也可以在拆分(unpacking)表达式中将单个下划线用作“不关心的”变量,以忽略特定的值。 同样,这个含义只是“依照约定”,并不会在Python解释器中触发特殊的行为。 单个下划线仅仅是一个有效的变量名称,会有这个用途而已。

在下面的代码示例中,我将汽车元组拆分为单独的变量,但我只对颜色和里程值感兴趣。 但是,为了使拆分表达式成功运行,我需要将包含在元组中的所有值分配给变量。 在这种情况下,“_”作为占位符变量可以派上用场:

Python等于中的数 python中__使用场景_02


在交互解释器比如iPython中,变量指向交互解释器中最后一次执行语句的返回结果。即:
除了用作临时变量之外,“
”是大多数Python REPL中的一个特殊变量,它表示由解释器评估的最近一个表达式的结果。

这样就很方便了,比如你可以在一个解释器会话中访问先前计算的结果,或者,你是在动态构建多个对象并与它们交互,无需事先给这些对象分配名字:

Python等于中的数 python中__元组_03