Python 中下划线 _ 用法 作者:马育民 • 2026-01-21 11:13 • 阅读:10000 # 作为普通变量使用 ### 在循环中 ``` for _ in range(10): print(_) ``` 执行结果: ``` 0 1 2 3 4 ``` ### 在列表生成式中 ``` ls = ["苹果" for _ in range(5)] print(ls) ``` 执行结果: ``` ['苹果', '苹果', '苹果', '苹果', '苹果'] ``` # 作为“丢弃变量”使用 这是最常见的用法之一。当你需要接收一个值,但后续完全不需要使用它时,可以用 `_` 来命名这个变量,明确表示“这个值我不需要”。 ### 场景1:解包时丢弃不需要的值 ```python 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)中,`_` 会自动保存上一次执行代码的返回结果。 **示例**: ```python # 在交互式环境中执行: >>> 10 + 20 30 >>> _ # 查看上一次的结果 30 >>> x = _ * 2 >>> x 60 ``` # 数字分隔符(Python 3.6+) 可以用 `_` 分隔数字的位数,提升可读性,不影响数值本身。 **示例代码**: ```python # 大数字分隔,更易读 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 风格。 原文出处:http://www.malaoshi.top/show_1GW2dEbCEoh0.html