English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python-Muster (_)

在 Python 中,某些情况下我们使用 Single Underscore(_),在某些情况下我们使用 Double Underscores(__)。

在 Python 中,有以下情况,我们使用下划线。

  • 如果我们想将最后一个表达式的值存储在解释器中。

  • 如果我们要忽略一些值。

  • 用于声明变量或函数。

  • 分隔数字横向值的数字。

  • 它也用作“国际化(i18n)”或“本地化(l10n)”功能。

现在,在每种情况下都提供一些示例。

用于口译员

Python 解释器将最后一个表达式值存储在“ _”中。

>>> 20 
20 
>>> _ 
20 
>>> _ + 3 
23

忽略值

下划线也用于忽略值。

x, _, y =(1, 2, 3)

这里 x = 1,y = 3并忽略值2。

用于声明变量和函数

Python 不支持私有的,所以我们不能强制某些东西是私有的,但是我们可以直接从其他模块调用它。

single_trailing_underscore_

轻松使用此转换可以避免 Python 关键字和内置关键字的冲突。

__double_leading_underscore

这是 mangle,用于避免名称之间的属性名称冲突。

如果在类中编写方法名称“ __display”,则该名称将以“ _ClassName__display”形式进行修饰。

__double_leading_and_trailing_underscore__

在某些情况下,我们使用这种转换。就像 _init_。

分隔数字横向值的数字

dec_base = 1_000_000
print(dec_base)  # 1000000

作为国际化(i18n)/本地化(l10n) 的功能

这只是一个约定,此处的下划线只是将 i18n / l10n 绑定到下划线变量,并非来自 C 约定。