python 中的 下划线_ 是啥意思

在 Python 中,_(下划线)通常用作占位符,表示一个变量名,但程序中不会实际使用这个变量的值。

目录

    • 忽略循环变量:
    • 忽略函数返回值:
    • 在解释器中使用:
    • 举例子
      • [1. 忽略循环变量](#1. 忽略循环变量)
      • [2. 忽略不需要的函数返回值](#2. 忽略不需要的函数返回值)
      • [3. 多次使用 `_` 忽略多个值](#3. 多次使用 _ 忽略多个值)
      • [4. 忽略值的解包](#4. 忽略值的解包)
      • [5. 在列表推导式中使用 `_`](#5. 在列表推导式中使用 _)
      • [6. 在解释器中使用 `_`](#6. 在解释器中使用 _)
      • [7. 忽略字典遍历中的键或值](#7. 忽略字典遍历中的键或值)

它常见于以下几种情况:

忽略循环变量:

在循环中,如果你不需要使用循环变量的值,可以用 _ 作为变量名。这表明你知道有这个变量,但你不会使用它。

例如:

python 复制代码
for _ in range(10):
    print("This will print 10 times")

在这个例子中,循环变量的值(0 到 9)没有被使用,仅用于控制循环执行 10 次。

忽略函数返回值:

有时候函数会返回多个值,但你只关心其中的一部分,可以使用 _ 来忽略那些你不需要的返回值。

例如:

python 复制代码
def get_coordinates():
    return (10, 20, 30)

x, y, _ = get_coordinates()

在这个例子中,函数 get_coordinates() 返回三个值 (10, 20, 30),但我们只关心前两个值 x 和 y,第三个值被 _ 忽略。

在解释器中使用:

在 Python 交互式解释器中,_ 被用来表示最后一个执行结果的值。

例如:

python 复制代码
>>> 5 + 3
8
>>> _
8

总结起来,_ 主要用作占位符,表示一个不重要的变量或者忽略的值。

举例子

当然可以,以下是几个使用 _ 的常见例子:

1. 忽略循环变量

当你需要循环一定次数,但不使用循环变量时,可以用 _ 来表示:

python 复制代码
for _ in range(5):
    print("This will print 5 times")

此时,_ 只是一个占位符,表示你不关心循环变量的值。

2. 忽略不需要的函数返回值

当一个函数返回多个值,而你只需要其中的一部分时,可以用 _ 来忽略不需要的值:

python 复制代码
def get_coordinates():
    return (10, 20, 30)

x, y, _ = get_coordinates()
print(x, y)  # 输出: 10 20

在这里,我们只关心前两个返回值 x 和 y,第三个值被 _ 忽略。

3. 多次使用 _ 忽略多个值

当一个函数返回多个值,而你只需要其中的一部分时,可以用 _ 来忽略多个不需要的值:

python 复制代码
def get_data():
    return (1, 2, 3, 4, 5)

a, _, b, _, c = get_data()
print(a, b, c)  # 输出: 1 3 5

在这里,我们只关心返回的第一个、第三个和第五个值,其他值被 _ 忽略。

4. 忽略值的解包

当你需要从一个可迭代对象中提取部分值时,可以用 _ 忽略不需要的部分:

python 复制代码
data = [1, 2, 3, 4, 5]

first, *_, last = data
print(first, last)  # 输出: 1 5

在这里,* _ 忽略中间的所有值,只保留第一个和最后一个值。

5. 在列表推导式中使用 _

当你使用列表推导式(或其他推导式)时,可以用 _ 来表示一个不关心的变量:

python 复制代码
squares = [x * x for x in range(10)]
print(squares)  # 输出: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# 使用 _ 生成一个不关心的变量
[print("This will print 10 times") for _ in range(10)]

在这里,列表推导式中的 _ 表示我们不关心实际的值,只需要重复执行 print 语句 10 次。

6. 在解释器中使用 _

在 Python 交互式解释器中,_ 可以用来表示最后一个执行结果的值:

python 复制代码
>>> 5 + 3
8
>>> _
8
>>> _ * 2
16

在这个例子中,_ 保存了前一个表达式的结果 8,然后可以在后续的计算中使用。

7. 忽略字典遍历中的键或值

当遍历字典时,如果你只需要键或值,可以用 _ 忽略另一个:

python 复制代码
my_dict = {'a': 1, 'b': 2, 'c': 3}

# 忽略值
for key, _ in my_dict.items():
    print(key)  # 输出: a b c

# 忽略键
for _, value in my_dict.items():
    print(value)  # 输出: 1 2 3

在这里,使用 _ 忽略字典遍历中的值或键,分别只处理键或值。

相关推荐
snysy14 分钟前
服务器安全加固与入侵检测实战:从SSH加固、防火墙策略到挖矿木马排查
服务器·安全·ssh
gz927cool15 分钟前
Python 全栈应用最佳实践完整指南
开发语言·python·ai
智购科技智能售货柜27 分钟前
顾客已经关门,视觉售货柜还在处理旧画面:延迟积压怎么查?~YH
python·单片机·嵌入式硬件·物联网·eclipse
CoderYanger33 分钟前
Java EE 进阶:5. Spring IoC&DI(第三弹):Spring DI
java·开发语言·spring boot·spring·面试·java-ee·mvc
梯度下降者34 分钟前
Python从0到100(三):Python中的变量介绍
python·作用域·变量·数据类型·计算机常识
AIFQuant38 分钟前
Python期货行情API接入:股指、黄金、原油多品种数据管道实战
开发语言·python·金融·区块链·量化开发
echome88839 分钟前
JavaScript async/await 错误处理:别让 Promise 静默失败
开发语言·前端·javascript·promise
运维行者_42 分钟前
供应链安全成最大风险源,企业如何构建可控的运维体系?
运维·开发语言·网络·数据库·安全·云计算·流量监控
.YM.Z1 小时前
优选算法——【双指针算法2】C++实现
开发语言·c++·算法
逆向编程1 小时前
MATLAB高级数据结构:cell、struct与table深度应用
开发语言·数据结构·matlab