python 下划线的使用(转载:安生犹梦 新浪博客)
2014-09-03 14:47
211 查看
Python 用下划线作为变量前缀和后缀指定特殊变量。
_xxx
不能用'from module import *'导入
__xxx__ 系统定义名字
__xxx
类中的私有变量名
核心风格:避免用下划线作为变量名的开始。
因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。一般来讲,变量名_xxx被看作是“私有
的”,在模块或类外不可以使用。当变量是私有的时候,用_xxx 来表示变量是很好的习惯。因为变量名__xxx__对Python 来说有特殊含义,对于普通的变量应当避免这种命名风格。
"单下划线"
开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量;
"双下划线"
开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。
以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import
*”而导入;以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。
结论:
1、_xxx
不能用于’from module import *’ 以单下划线开头的表示的是protected类型的变量。即保护类型只能允许其本身与子类进行访问。
2、__xxx
双下划线的表示的是私有类型的变量。只能是允许这个类本身进行访问了。连子类也不可以
3、__xxx___定义的是特列方法。像__init__之类的
_xxx
不能用'from module import *'导入
__xxx__ 系统定义名字
__xxx
类中的私有变量名
核心风格:避免用下划线作为变量名的开始。
因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。一般来讲,变量名_xxx被看作是“私有
的”,在模块或类外不可以使用。当变量是私有的时候,用_xxx 来表示变量是很好的习惯。因为变量名__xxx__对Python 来说有特殊含义,对于普通的变量应当避免这种命名风格。
"单下划线"
开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量;
"双下划线"
开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。
以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import
*”而导入;以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。
结论:
1、_xxx
不能用于’from module import *’ 以单下划线开头的表示的是protected类型的变量。即保护类型只能允许其本身与子类进行访问。
2、__xxx
双下划线的表示的是私有类型的变量。只能是允许这个类本身进行访问了。连子类也不可以
3、__xxx___定义的是特列方法。像__init__之类的
相关文章推荐
- 转载:如何使用python将文本文件转化为XML文件
- (转载)C Java PHP Perl Python的程序代码美化工具使用
- Python中单/双下划线使用
- 转载自新浪博客关于 asp或者SHTML 中 # include file/virtual的使用区别
- 在 Python 中使用 GDB 来调试 转载
- 使用minidom来处理XML的示例(Python 学习)(转载)
- 使用C写Python的模块(转载)
- 在python中使用OpenCV【转载的】【不好用或过时了】
- 使用Python抓取网页图片[转载]
- Python【map、reduce、filter】内置函数使用说明(转载)
- 使用minidom来处理XML的示例(Python 学习)(转载)
- Python ConfigParser的使用 【转载】
- 【转载】Python Web 框架: 使用 TurboGears 和 Python 开发 Web 站点
- Python中单/双下划线使用 分类: python python基础学习 2013-09-02 21:31 1764人阅读 评论(0) 收藏
- 使用PyInstaller2将Python脚本转化为可执行文件(上-安装部分)(转载自博客园balian)
- [转载]如何使用python在2M内存中排序一百万个32位整数
- 【转载】Python ConfigParser的使用
- python框架之django使用系列教程(1),原创,转载请注明出处
- 转载:使用Eclipse与Pydev开发Python
- 【转载】Python Web 框架: 使用 TurboGears 和 Python 开发 Web 站点