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),但我们只关心前两个值 xy,第三个值被 _ 忽略。

在解释器中使用:

在 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

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

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

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

相关推荐
2301_803875615 小时前
PHP 中处理会话数组时的类型错误解析与修复指南
jvm·数据库·python
m0_743623925 小时前
c++如何批量修改文件后缀名_std--filesystem--replace_extension【实战】
jvm·数据库·python
2401_873479405 小时前
如何利用IP查询定位识别电商刷单?4个关键指标+工具配置方案
开发语言·tcp/ip·php
桌面运维家5 小时前
IDV云桌面vDisk机房网络管控访问限制部署方案
运维·服务器·网络
我爱cope6 小时前
【从0开始学设计模式-10| 装饰模式】
java·开发语言·设计模式
ShineWinsu6 小时前
对于Linux:动静态库的制作与原理的解析—下
linux·运维·服务器·进程·链接·虚拟地址空间·
2501_914245936 小时前
CSS如何处理CSS变量作用域冲突_利用特定类名重写变量值
jvm·数据库·python
菜鸟学Python6 小时前
Python生态在悄悄改变:FastAPI全面反超,Django和Flask还行吗?
开发语言·python·django·flask·fastapi
<-->6 小时前
Megatron(全称 Megatron-LM,由 NVIDIA 开发)和 DeepSpeed(由 Microsoft 开发)
人工智能·pytorch·python·深度学习·transformer
RH2312117 小时前
2026.4.16Linux 管道
java·linux·服务器