Python 中5种下划线的含义都是什么?

今天给大家科普一波,单下划线和双下划线在Python变量和方法名称的含义。有一些含义仅仅是依照约定,被视作提示,而有一些含义是由Python解释器严格执行的。在Python变量和方法名称中各种单下划线和双下划线的含义是什么?

下面我们将讨论5种下划线模式和命名约定,以及它们如何影响Python程序的行为:

单前导下划线:_var

单末尾下划线:var_

双前导下划线:_ _var

双前导和末尾下划线:_ var _

单下划线:_

1、单前导下划线:_var

说明:

当涉及到变量和方法名称时,单个下划线前缀有一个约定俗成的含义。

下划线前缀的含义是:以单个下划线开头的变量或方法仅供内部使用。

这不是Python强制规定的,Python不像Java那样在“私有”和“公共”变量之间有很强的区别。

小结:

单个下划线是一个Python命名约定,表示这个名称是供内部使用的。它通常不由Python解释器强制执行,仅仅作为一种对程序员的提示。

2、单末尾下划线:var_

说明:

有时候一个变量的最合适的名称已经被一个关键字所占用, 因此,像class或def这样的名称不能用作Python中的变量名称。

小结:

总之,单个末尾下划线(后缀)是一个约定,用来避免与Python关键字产生命名冲突。

3、双前导下划线:__var

说明:

目前为止,我们所涉及的所有命名模式的含义,来自于已达成共识的约定。而对于以双下划线开头的Python类的属性(包括变量和方法),情况就有点不同。双下划线前缀会导致Python解释器重写属性名称,以避免子类中的命名冲突。这也叫做名称修饰 - 解释器更改变量的名称,以便在类被扩展的时候不容易产生冲突。

小结:

名称修饰不是专门与类属性关联的。它适用于在类上下文中使用的两个下划线字符开头的任何名称。

4、双前导和双末尾下划线:var

说明:

如果一个名字同时以双下划线开始和结束,则不会应用名称修饰。

Python保留了有双前导和双末尾下划线的名称,用于特殊用途。这样的例子有,init__对象构造函数,或__call ,它使得一个对象可以被调用。

小结:

最好避免在自己的程序中使用以双下划线开头和结尾的名称,以避免与将来Python语言的变化产生冲突。

5、单下划线:_

说明:

按照习惯,有时候单个独立下划线是用作一个名字,来表示某个变量是临时的或无关紧要的。

小结:

除了用作临时变量之外,“_”是大多数Python REPL中的一个特殊变量,它表示由解释器评估的最近一个表达式的结果。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值