Python私有属性私有方法应用实例解析


Posted in Python onSeptember 15, 2020

01. 应用场景及定义方式

应用场景

  • 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到
  • 私有属性 就是 对象 不希望公开的 属性
  • 私有方法 就是 对象 不希望公开的 方法

定义方式

在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法

class Women:

  def __init__(self, name):

    self.name = name
    # 不要问女生的年龄
    self.__age = 18

  def __secret(self):
    print("我的年龄是 %d" % self.__age)
xiaofang = Women("小芳")
# 私有属性,外部不能直接访问
# print(xiaofang.__age)

# 私有方法,外部不能直接调用
# xiaofang.__secret()

02. 伪私有属性和私有方法(科普)

提示:在日常开发中,不要使用这种方式,访问对象的 私有属性 或 私有方法

Python 中,并没有 真正意义 的 私有

在给 属性、方法 命名时,实际是对 名称 做了一些特殊处理,使得外界无法访问到
处理方式:在 名称 前面加上 _类名 => _类名__名称

# 私有属性,外部不能直接访问到
print(xiaofang._Women__age)

# 私有方法,外部不能直接调用
xiaofang._Women__secret()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python时间戳与时间字符串互相转换实例代码
Nov 28 Python
python获取标准北京时间的方法
Mar 24 Python
node.js获取参数的常用方法(总结)
May 29 Python
python中时间、日期、时间戳的转换的实现方法
Jul 06 Python
python基于Selenium的web自动化框架
Jul 14 Python
python 字典套字典或列表的示例
Dec 16 Python
基于python实现微信好友数据分析(简单)
Feb 16 Python
python设置环境变量的作用整理
Feb 17 Python
利用python实现逐步回归
Feb 24 Python
浅析Python中字符串的intern机制
Oct 03 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
Oct 31 Python
Python趣味挑战之实现简易版音乐播放器
May 28 Python
PyQt5多线程防卡死和多窗口用法的实现
Sep 15 #Python
PyQt5结合matplotlib绘图的实现示例
Sep 15 #Python
pycharm激活方法到2099年(激活流程)
Sep 22 #Python
pycharm专业版远程登录服务器的详细教程
Sep 15 #Python
深入浅析pycharm中 Make available to all projects的含义
Sep 15 #Python
pycharm-professional-2020.1下载与激活的教程
Sep 21 #Python
有关pycharm登录github时有的时候会报错connection reset的问题
Sep 15 #Python
You might like
Yii2中OAuth扩展及QQ互联登录实现方法
2016/05/16 PHP
PHP实现二维数组根据key进行排序的方法
2016/12/30 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
PHP实现用session来实现记录用户登陆信息
2018/10/15 PHP
php接口隔离原则实例分析
2019/11/11 PHP
学习ExtJS fit布局使用说明
2009/10/08 Javascript
javascript取消文本选定的实现代码
2010/11/14 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
2012/12/10 Javascript
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
2016/01/12 Javascript
Angular2内置指令NgFor和NgIf详解
2016/08/03 Javascript
.net MVC+Bootstrap下使用localResizeIMG上传图片
2017/04/21 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
基于JavaScript获取base64图片大小
2019/10/18 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
Python greenlet实现原理和使用示例
2014/09/24 Python
Python解析xml中dom元素的方法
2015/03/12 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
python 实现对数据集的归一化的方法(0-1之间)
2018/07/17 Python
pandas pivot_table() 按日期分多列数据的方法
2018/11/16 Python
Django REST Swagger实现指定api参数
2020/07/07 Python
python 列表推导和生成器表达式的使用
2021/02/01 Python
HTML5实时语音通话聊天MP3压缩传输3KB每秒
2019/08/28 HTML / CSS
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
移动端Html5中百度地图的点击事件
2019/01/31 HTML / CSS
一份报关员的职业规划范文
2014/01/08 职场文书
新品发布会策划方案
2014/06/08 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
2014年政风行风工作总结
2014/11/22 职场文书
焦点访谈观后感
2015/06/11 职场文书
nginx容器方式反向代理实战
2022/04/18 Servers