Python中下划线_的5种不同含义

2025年1月5日 | 阅读 5 分钟

引言

在本教程中,我们将学习 Python 中下划线 (Underscore) 的 5 种不同含义。Python 是一种多功能编程语言。它以多种方式使用下划线 (_) 符号来传达含义和功能。本次探讨将深入了解其重要性。在 Python 中,下划线通常用作“丢弃”变量、循环中的占位符以及内部命名约定。在交互式解释器中,单个下划线代表最后一次求值表达式的结果。此外,在国际化方面,它充当 gettext() 函数的别名,用于标记字符串进行翻译。下划线的适应性使其成为多种编码场景中的有用工具。许多 Python 开发人员需要更熟悉 Python 中的下划线 (_) 函数。它有助于用户编写良好的 Python 代码。如果您是 Python 程序员,您可能熟悉以下术语:

  1. __init__(self)
  2. for _ in range(50)
  3. _ = 2

下划线 (_) 在各种上下文中都有特殊含义。Python 中最多有六种不同的下划线用法。一旦您理解了这些用法,您就可以在代码中为不同的目的使用下划线。

1) 单下划线

单下划线在 Python 语法中扮演多种角色。它充当占位符,并可以强调其代表的变量或操作的重要性。以下是一些常见用例:

a) 将下划线用作变量

我们可以将单下划线用作三种变量,如下所示:

i. 不重要或临时变量

它用作临时或不重要变量的占位符。例如:

ii. “丢弃”或“我不在乎”变量

当不需要某个特定变量的值时,请使用此选项。例如,在解包序列以忽略不需要的元素时可以使用它。

iii. 私有变量

有时将其用作约定,表示变量仅供内部使用(与“私有”变量相同)。

b) 将下划线用作解释器

在 Python 解释器中,单下划线 (_) 在交互式会话期间充当最后一次求值表达式结果的占位符。这在交互式 Python shell (REPL - Read-Eval-Print Loop) 的上下文中非常有用。我们可以使用单下划线作为两种解释器,如下所示:

i. 存储最后一个表达式的结果

我们可以使用单下划线来存储最后一个表达式的结果。下面是一个例子:

在此示例中,下划线 _ 用于引用最新表达式 (x + 5) 的结果,该结果等于 7。

ii. 忽略值

我们可以使用单下划线来忽略值。下面是一个例子:

在这种情况下,下划线用作占位符,表明解包的值不重要,并且只保留中间值 (y)。

c) 在循环中使用下划线

在循环的上下文中,单下划线通常用于指示循环变量未被有意使用。

d) 用于国际化和翻译的下划线

有时,当不需要变量的值时,人们会为变量使用占位符名称。这种做法在国际化和翻译函数中很常见,在这些函数中,翻译人员会忽略变量的值。

e) 用于忽略值的下划线

在解包过程中丢弃不必要的值以提高代码清晰度。

请记住,使用单下划线作为变量名主要是一种约定。Python 不会将其与其他变量名区别对待。这是一种程序员向他人和自己指示变量预期用途的方法。

2) 双下划线

双下划线,也称为“dunder”,在 Python 的命名约定和封装机制中至关重要。我们可以在某些情况下使用双下划线,如下所示:

a. 用于名称管理的双下划线

在类定义中,在名称前加上双下划线(例如,__variable)会触发 Python 的名称修饰。此过程使名称更具唯一性。它有助于避免子类中意外的名称冲突。程序员使用此技术来伪私有化类中的属性或方法,尽管 Python 没有真正的私有成员。下面是一个例子:

b. 用于特殊方法的双下划线

在 Python 中,程序员经常使用双下划线来表示称为“dunder”方法(双下划线的简称)的特殊方法。这些方法在语言中有特定的含义,用于运算符重载或定义对象的特定行为等任务。下面是一个例子:

c. 用于魔术常量的双下划线

一些双下划线名称用作魔术常量。例如 __file__ 和 __name__,它们提供有关当前模块或脚本的信息。下面是一个例子:

d. 用于被忽略的特殊方法的双下划线

双下划线可以表示开发人员打算将某个方法用于内部使用,并建议不要将其视为公共 API 的一部分。这主要是约定,没有特定的语言级别影响。

因此,这些是 Python 中双下划线的一些常见用例。了解使用双下划线进行名称修饰和特殊方法是一种约定,而不是 Python 对隐私或访问控制的严格强制执行,这一点至关重要。程序员通常遵循这些约定来提高代码的可读性和可维护性。

结论

在本教程中,我们将学习 Python 中下划线 (Underscore) 的 5 种不同含义。它以多种方式使用下划线 (_) 符号来传达含义和功能。理解下划线在 Python 中的作用和用法对每个程序员都很重要。它提高了代码的可读性。此外,它还有助于您编写良好、干净的代码。然而,下划线是一个简单的符号。它对 Python 编程具有重要意义。