Python类的私有成员
2012-07-25 20:21
302 查看
#!/usr/bin/env python
#-*- coding:utf8 -*-
"""
Python中类的成员函数、成员变量默认都是公开的(public),
而且Python中没有类似public、private等关键词来修饰成员函数,成员变量。
在python中定义私有成员只需要在变量名或函数名前加上"__"(两个下划线),那么这个函数或变量就变成私有的了。
在内部,python使用一种name mangling技术,将__membername替换成_classname__membername,
所以你在外部使用原来的私有成员的名字时,会提示找不到。
Python的私有成员并不是真正意义上的私有,在类外部也可以调用。
"""
class Test(object):
def __init__(self):
super(Test, self).__init__();
self.__message = 'hello world!'
def __getMessage(self):
print self.__message
if __name__ == '__main__':
obj = Test()
print dir(obj)
print obj._Test__message
obj._Test__getMessage()
"""
['_Test__getMessage', '_Test__message', '__class__', '__delattr__', '__dict__',
'__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__
', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeo
f__', '__str__', '__subclasshook__', '__weakref__']
hello world!
hello world!
"""
#-*- coding:utf8 -*-
"""
Python中类的成员函数、成员变量默认都是公开的(public),
而且Python中没有类似public、private等关键词来修饰成员函数,成员变量。
在python中定义私有成员只需要在变量名或函数名前加上"__"(两个下划线),那么这个函数或变量就变成私有的了。
在内部,python使用一种name mangling技术,将__membername替换成_classname__membername,
所以你在外部使用原来的私有成员的名字时,会提示找不到。
Python的私有成员并不是真正意义上的私有,在类外部也可以调用。
"""
class Test(object):
def __init__(self):
super(Test, self).__init__();
self.__message = 'hello world!'
def __getMessage(self):
print self.__message
if __name__ == '__main__':
obj = Test()
print dir(obj)
print obj._Test__message
obj._Test__getMessage()
"""
['_Test__getMessage', '_Test__message', '__class__', '__delattr__', '__dict__',
'__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__
', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeo
f__', '__str__', '__subclasshook__', '__weakref__']
hello world!
hello world!
"""
相关文章推荐
- Python中定义“私有”成员变量和成员函数
- Python中定义“私有”成员变量和成员函数
- Python中定义“私有”成员变量和成员函数
- python私有成员
- python 类私有成员
- Python中定义“私有”成员变量和成员函数
- Python学习笔记--类简介,继承,私有成员
- Python中定义“私有”成员变量和成员函数
- Python模拟保护和私有成员
- Python中定义“私有”成员变量和成员函数
- Python中定义“私有”成员变量和成员函数
- Python基础(十二) 类私有成员和保护成员
- python之类私有成员
- python中类的私有成员的 name managing
- Python中定义“私有”成员变量和成员函数
- Python 类简介,继承,私有成员
- Python 私有属性
- 用闭包技术实现成员变量私有的javascript bean
- 类静态变量的赋值以及调用私有成员变量的用法
- 继承(子类能不能继承父类的私有成员)