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多线程抓取代理服务器IP地址的示例
Nov 09 Python
Python匹配中文的正则表达式
May 11 Python
python语言使用技巧分享
May 31 Python
Python Socket编程详细介绍
Mar 23 Python
selenium+python自动化测试之多窗口切换
Jan 23 Python
用Python写一个模拟qq聊天小程序的代码实例
Mar 06 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
May 13 Python
python使用tkinter库实现五子棋游戏
Jun 18 Python
Python符号计算之实现函数极限的方法
Jul 15 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
May 12 Python
教你如何用python操作摄像头以及对视频流的处理
Oct 12 Python
Python语言规范之Pylint的详细用法
Jun 24 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中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
2014/04/24 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
angularjs中的e2e测试实例
2014/12/06 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
js操作二进制数据方法
2018/03/03 Javascript
Element 默认勾选表格 toggleRowSelection的实现
2019/09/04 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
vue 路由缓存 路由嵌套 路由守卫 监听物理返回操作
2020/08/06 Javascript
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
使用Python的Scrapy框架十分钟爬取美女图
2016/12/26 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
在Python中字符串、列表、元组、字典之间的相互转换
2019/11/15 Python
Python sep参数使用方法详解
2020/02/12 Python
Python模拟FTP文件服务器的操作方法
2020/02/18 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
团工委书记自荐书范文
2013/12/17 职场文书
体育教师个人的自我评价
2014/02/16 职场文书
职业培训师职业生涯规划
2014/02/18 职场文书
债务纠纷委托书
2014/08/30 职场文书
2014年维修电工工作总结
2014/11/20 职场文书
和谐家庭事迹材料
2014/12/20 职场文书
安全检查汇报材料
2014/12/26 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书
反四风问题学习心得体会
2016/01/22 职场文书
动漫APP软件排行榜前十名,半次元上榜,第一款由腾讯公司推出
2022/03/18 杂记
Golang流模式之grpc的四种数据流
2022/04/13 Golang
Vue2项目中对百度地图的封装使用详解
2022/06/16 Vue.js