您的位置:首页 > 编程语言 > Python开发

python为什么有私有方法和变量

2016-04-06 18:06 645 查看
1. 访问安全,其实也没有决定的安全

>>> class humer(object):
...   def __init__(self, name):
...     self.name = name
...   def num(self):
...     print self.name
...   def __inner(self):
...     print 'this is inner'


此时访问__inner方法只能这样

>>> p._humer__inner()
this is inner
否则会报错

2. 在子类继承父类时,如果有相同的方法和变量的话,而我们想使用各自的方法和变量。此时就可以使用私有方法

class Foo(object):
def __init__(self):
self.__baz = 42
def foo(self):
print self.__baz

class Bar(Foo):
def __init__(self):
super(Bar,self).__init__()
self.__baz = 21
def bar(self):
print self.__baz

>>> b = Bar()
>>> b.foo()
42
>>> b.bar()
21

#如果没有使用私有方法的话,那么foo和bar的值将都是子类的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: