python之下划线
[TOC]
单个下划线
在命令行里输入单个下划线表示上一次的表达式
用作数值字面量中的千位分隔符,提高可读性
1
number = 1_000_000
用作临时变量名,常用来表示不需要使用的变量,在循环遍历中使用。
1
2
3
4
5
6# 情况1
for _ in range(5):
print('hello World!')
# 情况2
x, _, z = (1,2,3)用作国际化(i18n)函数的翻译标记:在一些国际化库中,下划线常常用于标记需要进行翻译的字符串。
1
2
3from gettext import gettext as _
print(_("Hello World"))
前缀单下划线 _name
1 | #仅模块内方法调用 |
后缀单下划线 name_
1 | 如果想使用python内置变量名,例如class、print,可以加一个_来区分,class_、print_ |
双下划线
前缀双下划线 __name
重整(name mangling):以双下划线开头的名称会被重命名为_类名__名称
的形式,其中类名
是包含该名称的类的名称,而名称
是原始名称去掉双下划线开头的部分。
确保不同类中具有相同双下划线前缀的属性或方法不会发生冲突。使用双下划线开头的名称,可以有效地将其视为类的私有成员,不应该被外部代码直接访问或重写。
1 | class A: |
前后缀双下划线_name_
魔术方法,这些方法在类定义中具有特殊的含义,并通过特定的调用方式进行调用。
例如,__init__
是用于初始化实例的构造函数,__str__
用于自定义对象的字符串表示,__add__
用于自定义对象的加法操作等等。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 一个正常的人!
评论