Python中双下划线和单下划线的用途

在学习Python的时候,会不理解为什么在方法(method)前面会加好几个下划线,有时甚至两边都会加。在Python中下划线还具有 privateprotected 类似的访问权限作用,下面我们具体分析。

Python主要存在四种命名:
(1object      #公用方法2)__object__  #内建方法,用户不要这样定义 
(3)__object    #全私有,全保护(private4)_object     #半保护(protected

核心风格:避免用下划线作为变量名的开始。
因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,如类的gouzao

单下划线开头的变量

“单下划线”开始的变量叫做保护变量,意思是只有类对象和子类对象能访问到这些变量

双下划线开头的变量

“双下划线”开始的变量叫做私有变量,意思是只有类本身能够访问达到这些变量,连子类对象也不能访问。

class Foo():
  def __init__():
    ...

  def public_method():
    print 'This is public method'

  def __fullprivate_method():
    print 'This is fullprivate_method'

  def _halfprivate_method():
    print 'This is halfprivate_method'

  f = Foo()
  f.public_method() # OK
  f.__fullprivate_method() # Error occur
  f._halfprivate_method() # OK
  f._Foo__fullprivate_method() # OK

猜你喜欢

转载自blog.csdn.net/xinghuanmeiying/article/details/79415366