08.12 共有,私有和特殊方法和属性

共有,私有和特殊方法和属性

  • 我们之前已经见过 special 方法和属性,即以 __ 开头和结尾的方法和属性
  • 私有方法和属性,以 _ 开头,不过不是真正私有,而是可以调用的,但是不会被代码自动完成所记录(即 Tab 键之后不会显示)
  • 其他都是共有的方法和属性
  • __ 开头不以 __ 结尾的属性是更加特殊的方法,调用方式也不同:
1class MyClass(object):
2    def __init__(self):
3        print "I'm special!"
4    def _private(self):
5        print "I'm private!"
6    def public(self):
7        print "I'm public!"
8    def __really_special(self):
9        print "I'm really special!"
1m = MyClass()
I'm special!
1m.public()
I'm public!
1m._private()
I'm private!

注意调用方式:

1m._MyClass__really_special()
I'm really special!