关于python中带下划线的变量和函数 的意义
2018-01-04 17:29
323 查看
https://www.cnblogs.com/skying555/p/6169110.html
总结:
变量:
1. 前带_的变量: 标明是一个私有变量, 只用于标明, 外部类还是可以访问到这个变量
2. 前带两个_ ,后带两个_ 的变量: 标明是内置变量,
3. 大写加下划线的变量: 标明是 不会发生改变的全局变量
函数:
1. 前带_的变量: 标明是一个私有函数, 只用于标明,
2. 前带两个_ ,后带两个_ 的函数: 标明是特殊函数
(Python 用下划线作为变量前缀和后缀指定特殊变量。
_xxx 不能用'from module import *'导入
__xxx__ 系统定义名字
__xxx 类中的私有变量名
核心风格:避免用下划线作为变量名的开始。
因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。
一般来讲,变量名_xxx被看作是“私有 的”,在模块或类外不可以使用。当变量是私有的时候,用_xxx 来表示变量是很好的习惯。
因为变量名__xxx__对Python 来说有特殊含义,对于普通的变量应当避免这种命名风格。
“单下划线” 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量;
“双下划线” 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。
以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;
以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。
现在我们来总结下所有的系统定义属性和方法, 先来看下保留属性:
总结:
变量:
1. 前带_的变量: 标明是一个私有变量, 只用于标明, 外部类还是可以访问到这个变量
2. 前带两个_ ,后带两个_ 的变量: 标明是内置变量,
3. 大写加下划线的变量: 标明是 不会发生改变的全局变量
函数:
1. 前带_的变量: 标明是一个私有函数, 只用于标明,
2. 前带两个_ ,后带两个_ 的函数: 标明是特殊函数
(Python 用下划线作为变量前缀和后缀指定特殊变量。
_xxx 不能用'from module import *'导入
__xxx__ 系统定义名字
__xxx 类中的私有变量名
核心风格:避免用下划线作为变量名的开始。
因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。
一般来讲,变量名_xxx被看作是“私有 的”,在模块或类外不可以使用。当变量是私有的时候,用_xxx 来表示变量是很好的习惯。
因为变量名__xxx__对Python 来说有特殊含义,对于普通的变量应当避免这种命名风格。
“单下划线” 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量;
“双下划线” 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。
以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;
以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。
现在我们来总结下所有的系统定义属性和方法, 先来看下保留属性:
>>> Class1.__doc__ # 类型帮助信息 'Class1 Doc.' >>> Class1.__name__ # 类型名称 'Class1' >>> Class1.__module__ # 类型所在模块 '__main__' >>> Class1.__bases__ # 类型所继承的基类 (<type 'object'>,) >>> Class1.__dict__ # 类型字典,存储所有类型成员信息。 <dictproxy object at 0x00D3AD70> >>> Class1().__class__ # 类型 <class '__main__.Class1'> >>> Class1().__module__ # 实例类型所在模块 '__main__' >>> Class1().__dict__ # 对象字典,存储所有实例成员信息。 {'i': 1234}
接下来是保留方法,可以把保留方法分类:
相关文章推荐
- 关于python中带下划线的变量和函数 的意义
- 关于python中带下划线的变量和函数的意义
- 关于python中带下划线的变量和函数 的意义
- 关于python中带下划线的变量和函数的意义
- 【转】关于python中带下划线的变量和函数 的意义
- 关于python中带下划线的变量和函数 的意义
- 关于python中带下划线的变量和函数 的意义
- 关于python中带下划线的变量和函数 的意义
- 关于python中带下划线的变量和函数 的意义
- python中带下划线的变量和函数的意义
- python中那些双下划线开头得函数和变量
- Python3中关于下划线变量和命名的总结
- 关于Python函数定义全局变量执行弹出SyntaxWarning的问题
- python中那些双下划线开头得函数和变量--转载
- python中那些双下划线开头得函数和变量
- python的类中变量、函数的特殊命名--意义
- python中那些双下划线开头得函数和变量
- Python中带下划线的变量和函数
- 【Python】函数参数的说明---变量前加星号的意义
- Python中关于下划线的标识符的意义