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

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

相关推荐
PasteSpider3 分钟前
新版本PasteSpider开发中专用部署工具介绍(让2GB的服务器也能使用CI/CD,简化你的部署过程)
运维·服务器·crud·pastetemplate
沧浪之水!4 分钟前
C++:多态的原理
开发语言·c++
AI原吾19 分钟前
使用 Tkinter 创建一个简单的 GUI 应用程序来合并视频和音频文件
python·音视频
eclipsercp31 分钟前
【数据可视化入门】Python散点图全攻略:Matplotlib、Seaborn、Pyecharts实战代码大公开!
python·信息可视化·matplotlib
风少__Hpy32 分钟前
大模型开发中LCEL与LLMChain响应度的对比
python·语言模型·langchain
逝去的紫枫37 分钟前
Python 中的 Lxml 库与 XPath 用法
开发语言·前端·python
前端青山41 分钟前
Vue-常用指令
开发语言·前端·javascript·vue.js·前端框架
yang_shengy42 分钟前
【JavaEE】多线程(2)
java·开发语言·多线程·
lix的小鱼42 分钟前
scala之全文单词统计
java·开发语言·后端·python·算法·c#·scala
魔法少女樱44 分钟前
Scala的练习题
开发语言·c#