0
点赞
收藏
分享

微信扫一扫

系统学习Python——下划线的作用与意义:单下划线与双下划綫


单下划线​​_​

变量

在Python中,变量可以包含数字、字母、下划线等,所以单独一个下划线​​_​​也是一个变量,表示一个临时对象,一般后续不会用到,比如:

>>> i = 0
>>> for _ in range(10):
... i += 1
...
>>> i
程序中运行的最近一个结果

单下划线​​_​​也可以表示程序中运行的最近一个结果,如:

>>> 'https://machinelearning.blog.csdn.net/'
'https://machinelearning.blog.csdn.net/'
>>> _
'https://machinelearning.blog.csdn.net/'
>>> 100
100
>>> _
100
国际化和本地化字符串之间翻译查找的函数

单下划线​​_​​作为函数名时,一般是代表了国际化和本地化字符串之间翻译查找的函数。

单下划线开头变量​​_var​​​或函数​​_fun()​

单下划线开头​​_var​​​的变量或函数​​_fun​​​表示该变量或函数为内部使用的变量,不建议在外部使用,但单下划线开头仅仅是一个提示,没有权限控制,实际上可以在外部访问。同时,如果用​​from <module> import *​​​和​​from <package> import *​​时,这些属性、方法、类将不被导入。

单下划线结尾​​var_​

为了防止跟系统关键字重名了,比如函数里需要有个参数​​class​​​,但是Python中​​class​​​为关键字,所以需要将 ​​class​​​设置为​​class_​​。

双下划线开头变量​​__var​​​或函数​​__fun()​

代表着类中的私有变量名或函数,主要用于避免子类覆盖父类的方法,如果需要访问,需使用​​_classname__fun()​​。

前后双下划线变量​​__var__​​​或函数​​__fun__()​

系统定义的变量名称或函数,如Python的魔法函数: ​​__ init__()​​​,​​__ str__()​​​,​​__ new__()​​​,​​__ unicode__()​​​,​​ __ call__()​​​,​​__ len__()​​​,​​__repr__()​​​,​​__ setattr__()​​​,​​__ getattr__()​​​,​​__ getattribute__()​​​,​​__ delattr__()​​​,​​__ setitem__()​​​,​​__ getitem__()​​​,​​__ delitem__()​​​,​​__ iter__()​​​,​​__ del__()​​​,​​__dir__()​​​,​​__dict__()​​​,​​__exit__()​​​,​​__enter()​​​,​​__all__()​​。我们定义变量名称或函数是应该尽量避免前后加双下划线。


举报

相关推荐

0 条评论