Python 中下划线 _ 用法

作为普通变量使用

在循环中

for _ in range(10):
    print(_)

执行结果:

0
1
2
3
4

在列表生成式中

ls = ["苹果" for _ in range(5)]
print(ls)

执行结果:

['苹果', '苹果', '苹果', '苹果', '苹果']

作为“丢弃变量”使用

这是最常见的用法之一。当你需要接收一个值,但后续完全不需要使用它时,可以用 _ 来命名这个变量,明确表示“这个值我不需要”。

场景1:解包时丢弃不需要的值

user_info = ("张三", 25, "北京", "13800138000")
name, age, _, _ = user_info  # 只需要姓名和年龄,丢弃地址和电话
print(name, age)  # 输出:张三 25

场景2:循环时不需要循环变量

for _ in range(5):
    print("执行一次循环")  # 输出5次"执行一次循环",无需关心循环次数变量

场景3:函数返回多值时丢弃部分值

def get_data():
    return 100, 200, 300

result, _, _ = get_data()  # 只取第一个返回值
print(result)  # 输出:100

交互式解释器的“最后结果”

在 Python 交互式环境(比如终端直接输入 python 进入的环境、IPython、Jupyter)中,_ 会自动保存上一次执行代码的返回结果。

示例:

# 在交互式环境中执行:
>>> 10 + 20
30
>>> _  # 查看上一次的结果
30
>>> x = _ * 2
>>> x
60

数字分隔符(Python 3.6+)

可以用 _ 分隔数字的位数,提升可读性,不影响数值本身。

示例代码:

# 大数字分隔,更易读
num1 = 1_000_000  # 等价于 1000000
num2 = 0b1010_1100  # 二进制,等价于 0b10101100
num3 = 123_45.67_89  # 浮点数也支持

print(num1)  # 输出:1000000
print(num2)  # 输出:172

总结

Python 中的下划线 _ 核心用法可归纳为:

  1. 丢弃变量:接收不需要使用的值,是最常用的场景;
  2. 交互环境缓存:保存上一次执行的结果;
  3. 命名规范:单下划线开头(约定私有)、结尾(避关键字),双下划线开头(名称修饰);
  4. 数字分隔符:提升大数字的可读性(Python 3.6+)。

记住核心原则:_ 本身不是语法强制限制(除了双下划线开头的名称修饰),更多是“约定俗成”的编码规范,目的是让代码更易读、更符合 Python 风格。


原文出处:/show_1GW2dEbCEoh0.html