python中单下划线(_)和双下划线(__)的特殊用法
作者:BRYANT_2019 时间:2022-08-09 22:23:22
函数使用单下划线_开头
使用单下划线(_)开头的函数_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中单下划线(_)和双下划线(__)的特殊用法,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://www.cnblogs.com/bryant24/archive/2019/08/29/11429653.html
标签:python,单下划线,下划线
0
投稿
猜你喜欢
Python实现生成随机数据插入mysql数据库的方法
2024-01-19 09:28:42
Django之PopUp的具体实现方法
2023-03-26 13:04:54
SQLServer 清理日志的实现
2024-01-27 12:41:21
SQL Server内存机制详解
2024-01-20 09:57:48
Pycharm 2to3配置,python2转python3方式
2021-07-05 21:39:50
Django页面数据的缓存与使用的具体方法
2023-03-29 11:42:44
JavaScript数据库TaffyDB用法实例分析
2024-01-25 01:16:25
轻松解决SQL Server 2005中的常见问题
2008-11-28 14:11:00
python技能之数据导出excel的实例代码
2022-09-21 15:01:53
MySQL时间设置注意事项的深入总结
2024-01-16 04:39:52
Python 使用folium绘制leaflet地图的实现方法
2023-06-11 05:58:36
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
2024-06-05 09:44:31
关于SpringBoot 使用 Redis 分布式锁解决并发问题
2024-01-19 19:59:40
为什么是 Python -m
2022-11-25 16:38:21
详解Python中while无限迭代循环方法
2022-08-17 12:53:48
python os.listdir按文件存取时间顺序列出目录的实例
2021-03-21 23:02:52
MSSQL2005数据附加失败报错3456解决办法
2012-11-30 19:56:59
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
2024-05-10 14:17:43
python计算最小优先级队列代码分享
2022-12-05 03:26:50
Python实战之OpenCV实现猫脸检测
2021-02-07 16:56:24