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中变量交换的例子
Aug 25 Python
使用Python实现一个简单的项目监控
Mar 31 Python
python批量提取word内信息
Aug 09 Python
Python利用operator模块实现对象的多级排序详解
May 09 Python
安装Python的教程-Windows
Jul 22 Python
对python中raw_input()和input()的用法详解
Apr 22 Python
解决python测试opencv时imread导致的错误问题
Jan 26 Python
基于python 微信小程序之获取已存在模板消息列表
Aug 05 Python
python爬虫爬取幽默笑话网站
Oct 24 Python
如何在scrapy中捕获并处理各种异常
Sep 28 Python
python基于socket模拟实现ssh远程执行命令
Dec 05 Python
Python天气语音播报小助手
Sep 25 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 防恶意刷新实现代码
2010/05/16 PHP
zf框架的Filter过滤器使用示例
2014/03/13 PHP
JavaScript Cookie的读取和写入函数
2009/12/08 Javascript
js word表格动态添加代码
2010/06/07 Javascript
JS应用正则表达式转换大小写示例
2014/09/18 Javascript
PHPExcel中的一些常用方法汇总
2015/01/23 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
jquery判断复选框是否选中进行答题提示特效
2015/12/10 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
vue中引用阿里字体图标的方法
2018/02/10 Javascript
垃圾回收器的相关知识点总结
2018/05/13 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
JavaScript高级函数应用之分时函数实例分析
2018/08/03 Javascript
JavaScript中变量、指针和引用功能与操作示例
2018/08/04 Javascript
利用hasOwnProperty给数组去重的面试题分享
2018/11/05 Javascript
解决layui轮播图有数据不显示的情况
2019/09/16 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
解析Python中的__getitem__专有方法
2016/06/27 Python
详解Python文本操作相关模块
2017/06/22 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
2017/08/07 Python
python tkinter界面居中显示的方法
2018/10/11 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
Python闭包和装饰器用法实例详解
2019/05/22 Python
python实现从本地摄像头和网络摄像头截取图片功能
2019/07/11 Python
Django组件content-type使用方法详解
2019/07/19 Python
Python定时发送天气预报邮件代码实例
2019/09/09 Python
浅谈django 模型类使用save()方法的好处与注意事项
2020/03/28 Python
基于python 取余问题(%)详解
2020/06/03 Python
查看keras的默认backend实现方式
2020/06/19 Python
Python中Yield的基本用法
2020/10/18 Python
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
医学生自荐信
2013/12/03 职场文书
美丽人生观后感
2015/06/03 职场文书
2019升学宴主持词范本5篇
2019/10/09 职场文书