Python面向对象之私有属性和私有方法应用案例分析


Posted in Python onDecember 31, 2019

本文实例讲述了Python面向对象之私有属性和私有方法。分享给大家供大家参考,具体如下:

01. 应用场景及定义方式

应用场景

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

定义方式

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

 Python面向对象之私有属性和私有方法应用案例分析

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 相关文章推荐
微信跳一跳python辅助软件思路及图像识别源码解析
Jan 04 Python
python+django+sql学生信息管理后台开发
Jan 11 Python
Python实现自动上京东抢手机
Feb 06 Python
使用Python将Mysql的查询数据导出到文件的方法
Feb 25 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
May 18 Python
python-django中的APPEND_SLASH实现方法
Jun 21 Python
Python编程学习之如何判断3个数的大小
Aug 07 Python
Python3操作读写CSV文件使用包过程解析
Apr 10 Python
基于python 取余问题(%)详解
Jun 03 Python
PyQT5 实现快捷键复制表格数据的方法示例
Jun 19 Python
keras用auc做metrics以及早停实例
Jul 02 Python
让文件路径提取变得更简单的Python Path库
May 27 Python
Pycharm最新激活码2019(推荐)
Dec 31 #Python
python ftplib模块使用代码实例
Dec 31 #Python
深入了解如何基于Python读写Kafka
Dec 31 #Python
Python面向对象之继承原理与用法案例分析
Dec 31 #Python
pytorch中nn.Conv1d的用法详解
Dec 31 #Python
Python实现剪刀石头布小游戏(与电脑对战)
Dec 31 #Python
Pytorch之卷积层的使用详解
Dec 31 #Python
You might like
PHP安全配置
2006/10/09 PHP
PHP语法速查表
2007/01/02 PHP
php empty,isset,is_null判断比较(差异与异同)
2010/10/19 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
thinkphp诸多限制条件下如何getshell详解
2020/12/09 PHP
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
2007/08/21 Javascript
javascript数组的扩展实现代码集合
2008/06/01 Javascript
Jquery下判断Id是否存在的代码
2011/01/06 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
jquery div拖动效果示例代码
2013/12/08 Javascript
jquery组件使用中遇到的问题整理及解决
2014/02/21 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
2017/12/11 Javascript
vue使用exif获取图片经纬度的示例代码
2020/12/11 Vue.js
[59:00]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第一场 3月7日
2021/03/11 DOTA
python中实现php的var_dump函数功能
2015/01/21 Python
简单谈谈python的反射机制
2016/06/28 Python
使用C++扩展Python的功能详解
2018/01/12 Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
2018/04/10 Python
Python requests发送post请求的一些疑点
2018/05/20 Python
Django2.1.3 中间件使用详解
2018/11/26 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
python脚本第一行如何写
2020/08/30 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
美国职棒大联盟官方网上商店:MLBShop.com
2017/11/12 全球购物
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
金融行业务员的自我评价
2013/12/13 职场文书
打架检讨书100字
2014/01/19 职场文书
运动会解说词100字
2014/01/31 职场文书
人力资源管理专业自荐书范文
2014/02/10 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
2014年会计人员工作总结
2014/12/10 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书
MyBatis 动态SQL全面详解
2021/10/05 MySQL