Tugqi Biz
  • Home
  • Categories
  • Tags
  • Archives

python中 __(双下划线)的作用

  • Python中默认的成员函数,成员变量都是公开的(public),而且python中没有类似public,private等关键词来修饰成员函数,成员变量。

  • 可有时候需要用到私有变量,因此诞生了__。

  • 变量名或函数名前加上 ”__“两个下划线,那么这个函数或变量就会为私有的了。

  • 私有意味着只有内部能使用,对外部隐藏。

  • 在内部,python使用一种 name mangling 技术,将 __membername替换成 _classname__membername来使用。
    在外部,使用原来的私有成员的名字时,会提示找不到。(达到了隐藏的效果)


class Tester(object):
    __foo = "hi"

>>> t = Tester()
>>> t._Tester__foo
'hi'
class Tester(object):
...     def __init__(self):
...         self.__foo = "hi"
... 
>>> t=Tester()
>>>t._Tester__foo
'hi'

  • « Python with语句
  • python 实例方法,静态方法,类方法 »

Published

Jul 7, 2014

Category

It

Tags

  • Python 15
  • Powered by Pelican. Theme: Elegant by Talha Mansoor