Python小技巧:单下划线 ‘_‘

简介: Python小技巧:单下划线 ‘_‘

按照约定,单个独立下划线有时被用作变量名,这表示该变量是临时的、不重要或者只是一个辅助的存在。在编程中,这种命名方式有助于区分那些一次性使用的变量,避免它们与长期存在的变量混淆。同时,这也是遵循良好编程习惯的一种体现。

举例子,这是一个使用Python的示例循环,其中我们不需要访问运行中的索引,那么我们可以用下划线_来表示这个临时值:

for _ in range(10):  # 使用下划线代替索引
    print('Hello, world!')

在这个例子中,我们使用了单个下划线来表示索引。当我们需要创建一个临时变量时,Python并不会真的为这个后面的内容分配一个变量名,而是直接用下划线来表示。这样做的好处是避免命名冲突,并且由于这些临时值的生命周期很短(仅在循环体内),所以使用下划线来表示它们不会引起代码维护困难。在Python中,确实可以使用单个下划线_来表示"我不关心"(don’t care)的变量,用于忽略特定值。这种用法遵循了命名约定,并不会触发Python解析器的任何特殊行为。它本质上是一个有效的变量名,但其含义在于提示读者,对于这个变量,你不需要关注它的具体数值。

下面的代码示例中,我要将包含颜色和里程字段的整个元组中的值解包到单独的变量中。然而,由于我只对颜色和里程这两个特定字段感兴趣,我们可以使用(下划线)作为占位符变量。这样做的好处是,Python会忽略对应的内容,因为我们只是需要它来“占据”位置。

示例代码如下:

>>> car = ('red', 'auto', 12, 3812.4)
>>> color, _, _, mileage = car
>>> color
'red'
>>> mileage
3812.4

在Python的交互式命令行(REPL,Read-Eval-Print Loop)中,_确实是一个特殊变量。它代表了最近一次解析执行后得到的结果。

当你在一个交互式会话中进行计算,然后想要访问之前某个计算的结果时,_变量就派上了用场。比如:

PyDev console: starting.
Python 3.12.1 (v3.12.1:2305ca5144, Dec  7 2023, 17:23:38) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin
>>> 20 + 3
23
>>> _
23
>>> print(_)
23

在Python中,如果你正在构建对象并需要动态交互,而不想先给它们命名,那么_变量就非常有用。

例如,你可以创建一个类,并在方法中使用_来临时存储对象的属性,然后进行交互:

>>> list()
[]
>>> _.append(1)
>>> _.append(2)
>>> _.append(3)
>>> _
[1, 2, 3]
相关文章
|
2月前
|
存储 索引 Python
Python小技巧:单下划线 '_' 原创
Python小技巧:单下划线 '_' 原创
|
6月前
|
机器学习/深度学习 C++ Python
Python小技巧:蛇形方阵
Python小技巧:蛇形方阵
|
2月前
|
开发工具 git Python
Python小技巧:满意的逗号放置
Python小技巧:满意的逗号放置
|
2月前
|
开发者 索引 Python
7个提升python编程的小技巧
7个提升python编程的小技巧
34 0
7个提升python编程的小技巧
|
6月前
|
Python
Python小技巧:一种字符串的排序方式
该文介绍了如何对包含数字的字符串列表进行特定排序。首先,示例了一个初始问题,使用Python内置的`sorted()`函数未能达到预期(按数字部分升序排序)。然后,文章提出通过自定义排序键`sort_key`来解决,利用正则表达式提取字符串尾部数字并进行排序。进一步,文章扩展到处理如'nxxx_name_nxxx'格式的字符串,通过给前缀和后缀数字赋予不同权重进行复合排序,展示了如何实现先按前缀、再按后缀排序的功能。提供的代码示例成功地完成了任务。
|
2月前
|
Java 程序员 API
Python中的单下划线和双下划线使用规则
Python中的单下划线和双下划线使用规则
34 11
|
2月前
|
SQL 关系型数据库 MySQL
Python小技巧——将CSV文件导入到MySQL数据库
Python小技巧——将CSV文件导入到MySQL数据库
41 0
|
3月前
|
索引 Python
干货!20个Python使用小技巧
干货!20个Python使用小技巧
|
4月前
|
Python
Python小技巧:一种字符串的排序方式
Python小技巧:一种字符串的排序方式
30 0
|
5月前
|
Python
Python一些实用小技巧
Python一些实用小技巧
17 0
下一篇
无影云桌面