python中单下划线(_)和双下划线(__)的特殊用法


Posted in Python onAugust 29, 2019

函数使用单下划线_开头

使用单下划线(_)开头的函数_func不能被模块外部以: from module import *形式导入。

但可以用:from module import _func形式单独导入。

类属性和类方法使用单下划线_开头

_开头为保护类型的属性和方法,仅允许类内部和子类访问,类实例无法访问此属性和方法。

类属性和类方法使用双下划线__开头

__开头为私有类型属性和方法,仅允许类内部访问,类实例和派生类均不能访问此属性和方法。

所以双划线比单划线权限更严格。

补充说明

对于__开头的属性和方法如果派生类一定要访问,使用单下划线+基类名+双下划线开头的属性和方法的形式,

 且双下划线开头的属性和方法后面最多只能以一个单下划线结束,否则也无法访问。

class BaseCls:
  def __init__(self, name, age, nick_name):
    self.name = name
    self.__nick_name_ = nick_name # __nick_name后面最多以一个_结束,否则通过基类名混淆的方式也无法访问了。
    self.age = age


class SubCls(BaseCls):
  def __init__(self, name, age, addr, nick_name):
    super().__init__(name, age, nick_name)
    self.addr = addr
    self.a_nick_name = self._BaseCls__nick_name_

总结

以上所述是小编给大家介绍的python中单下划线(_)和双下划线(__)的特殊用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python将多个文本文件合并为一个文本的代码(便于搜索)
Mar 13 Python
python使用BeautifulSoup分页网页中超链接的方法
Apr 04 Python
Python连接phoenix的方法示例
Sep 29 Python
Flask 让jsonify返回的json串支持中文显示的方法
Mar 26 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
Oct 31 Python
浅谈Python的list中的选取范围
Nov 12 Python
Python3实现对列表按元组指定列进行排序的方法分析
Dec 22 Python
Win10下Python3.7.3安装教程图解
Jul 08 Python
python机器学习实现决策树
Nov 11 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
Mar 02 Python
Python3开发环境搭建详细教程
Jun 18 Python
如何用python插入独创性声明
Mar 31 Python
python 计算两个列表的相关系数的实现
Aug 29 #Python
python同步windows和linux文件
Aug 29 #Python
python中几种自动微分库解析
Aug 29 #Python
详解python中index()、find()方法
Aug 29 #Python
python同步两个文件夹下的内容
Aug 29 #Python
Python中 CSV格式清洗与转换的实例代码
Aug 29 #Python
详解如何在cmd命令窗口中搭建简单的python开发环境
Aug 29 #Python
You might like
PHP生成带有雪花背景的验证码
2006/10/09 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
php pdo操作数据库示例
2017/03/10 PHP
实现复选框全选/全不选切换
2006/12/23 Javascript
Javascript this关键字使用分析
2008/10/21 Javascript
jquery 应用代码 方便的排序功能
2010/02/06 Javascript
jWiard 基于JQuery的强大的向导控件介绍
2011/10/28 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
2014/09/09 Javascript
js实现人才网站职位选择功能的方法
2015/08/14 Javascript
javascript数据结构之双链表插入排序实例详解
2015/11/25 Javascript
jQuery Ztree行政地区树状展示(点击加载)
2016/11/09 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
通过微信公众平台获取公众号文章的方法示例
2019/12/25 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
2019/06/13 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
使用html5制作loading图的示例
2014/04/14 HTML / CSS
Bench加拿大官方网站:英国城市服装品牌
2017/11/03 全球购物
洛佩桑酒店官方网站:Lopesan Hotels
2019/04/15 全球购物
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
String这个类型的class为何定义成final?
2012/11/13 面试题
客服实习的个人自我鉴定
2013/10/20 职场文书
晚会邀请函范文
2014/01/24 职场文书
班组安全员工作职责
2014/02/01 职场文书
自愿解除劳动合同协议书
2014/09/11 职场文书
学前班幼儿评语大全
2014/12/29 职场文书
化妆品促销活动总结
2015/05/07 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书