Python 用下划线作为变量前缀和后缀指定特殊变量
_xxx 不能用’from module import *’导入
__xxx__ 系统定义名字
__xxx 类中的私有变量名
核心风格:避免用下划线作为变量名的开始。
因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。一般来讲,变量名_xxx被看作是“私有 的”,在模块或类外不可以使用。当变量是私有的时候,用_xxx 来表示变量是很好的习惯。因为变量名__xxx__对Python 来说有特殊含义,对于普通的变量应当避免这种命名风格。
“单下划线” 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量;
“双下划线” 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。
以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。
转载于:https://www.cnblogs.com/changbaishan/p/10768601.html
Python 用下划线作为变量前缀和后缀指定特殊变量相关推荐
- python类实例化 输入参数名字 下划线_Python 用下划线作为变量前缀和后缀指定特殊变量...
原:http://blog.163.com/jackylau_v/blog/static/175754040201182113817834/ 转过来方便查阅=w= Python 用下划线作为变量前缀和 ...
- python 双下划线变量_python 中变量的单下划线与双下划线的区别
Python 用下划线作为变量前缀和后缀指定特殊变量. _xxx 不能用'from module import *' 导入 __xxx__ 系统定义名字 __xxx 类中的私有变量名 在 Python ...
- python语言下划线怎么打_python下划线 | 学步园
Python 用下划线作为变量前缀和后缀指定特殊变量 _xxx 不能用'from module import *'导入 __xxx__ 系统定义名字 __xxx 类中的私有变量名 核心风格:避免用下划 ...
- python 单下划线及双下划线使用方法
Python下划线命名模式 - 小结 以下是一个简短的小结,即"速查表",罗列了我在本文中谈到的五种Python下划线模式的含义: ------------------------ ...
- python中单下划线_foo与双下划线_Python中单下划线和双下划线
什么是 Python? Python 之父 Guido van Rossum 说:Python是一种高级程序语言,其核心设计哲学是代码可读性和语法,能够让程序员用很少的代码来表达自己的想法. 对于我来 ...
- [Python3] Python中单下划线和双下划线的含义
本文介绍了Python中单下划线和双下划线("dunder")的各种含义和命名约定,名称修饰(name mangling)的工作原理,以及它如何影响你自己的Python类. 单下划 ...
- python单下划线和双下线的区别
python单下划线和双下划线的区别 文章目录: 一.简单说明 二.举例说明 1.单下划线开头开头(protected变量) 2.双下划线开头(private变量) 一.简单说明 在学习Python的 ...
- python 的下划线_
为什么80%的码农都做不了架构师?>>> python 的下划线"_" 转载于:https://my.oschina.net/michao/blog/760 ...
- Python带下划线的变量或函数命名详细介绍
python中的标识符可以包含数字.字母和_,但必须以字母或者_开头,其中以_开头的命名一般具有特殊的意义. 前后均带有双下划线__的命名 一般用于特殊方法的命名,用来实现对象的一些行为或者功能,比如 ...
- python双下划线用法详解
__xxx__:双下划线代表着是系统定义的名字. __xxx:代表着类中的私有变量名. _xxx:不能用"from module import *"导入. Python中存在一些特 ...
最新文章
- 三层交换机能传递路由吗?_华为ensp三层交换机VLAN配置静态路由互通
- 从零写一个编译器(一):输入系统和词法分析
- 离散型随机变量及其分布列习题
- adf开发_如何在ADF中将参数传递给ActionListener
- html 登陆sql server,jsp实现注册与登录页面+sqlsever2008
- 复杂指令集linux,精简指令集和复杂指令集区别
- Android8. 0 学习(33)--- msensor移植
- python 京东签到在哪里_python 使用selenium登陆京东签到哪京豆
- 打开慢_苹果手机聊天回复特别慢?打开这个开关,1分钟打200字都没问题
- win10安装福昕pdf双击无反应或者不是打开而是打印(只能在福昕软件中打开)的解决方法
- 洛雪音乐助手(五音版)
- python导入文件夹下所有包_python 通过文件夹导入包的操作
- 几何光学学习笔记(28)-6.3光照度和光出射度
- 使用img标签能使用background-size:conver一样的效果
- tcpdump 安装 使用及详解
- CANOE入门:CAPL语言实现诊断发送和接收
- 纯js实现文件下载并重命名功能
- Linux 系统编程 -进程概念篇
- 三星笔记本U盘重装win10系统教程
- 单元测试之mock使用