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的Bottle框架中使用微信API的示例
Apr 23 Python
在ironpython中利用装饰器执行SQL操作的例子
May 02 Python
python使用smtplib模块通过gmail实现邮件发送的方法
May 08 Python
Python实现代码统计工具(终极篇)
Jul 04 Python
Python实现将文本生成二维码的方法示例
Jul 18 Python
python实现超简单的视频对象提取功能
Jun 04 Python
python实现点对点聊天程序
Jul 28 Python
python模块导入的细节详解
Dec 10 Python
Django框架封装外部函数示例
May 28 Python
Python网络编程之使用TCP方式传输文件操作示例
Nov 01 Python
python 实现简单的FTP程序
Dec 27 Python
5个pandas调用函数的方法让数据处理更加灵活自如
Apr 24 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
第三节--定义一个类
2006/11/16 PHP
PHP MPDF中文乱码的解决方式
2015/12/08 PHP
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
javascript preload&lazy load
2010/05/13 Javascript
原生js ActiveXObject获取execl里面的值
2013/11/01 Javascript
node.js中的path.dirname方法使用说明
2014/12/09 Javascript
使用js画图之圆、弧、扇形
2015/01/12 Javascript
javascript判断复选框是否选中的方法
2015/10/16 Javascript
Vuex之理解state的用法实例
2017/04/19 Javascript
vue-cli 构建骨架屏的方法示例
2018/11/08 Javascript
详解Puppeteer前端自动化测试实践
2019/02/21 Javascript
koa2+vue实现登陆及登录状态判断
2019/08/15 Javascript
JS实现滑动拼图验证功能完整示例
2020/03/29 Javascript
Python 学习笔记
2008/12/27 Python
在RedHat系Linux上部署Python的Celery框架的教程
2015/04/07 Python
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
使用Python实现BT种子和磁力链接的相互转换
2015/11/09 Python
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
2017/10/20 Python
Python 实现大整数乘法算法的示例代码
2019/09/17 Python
python利用JMeter测试Tornado的多线程
2020/01/12 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
html5 CSS过度-webkit-transition使用介绍
2013/07/02 HTML / CSS
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
美国宠物用品网站:Value Pet Supplies
2018/03/17 全球购物
Napapijri西班牙在线商店:夹克、外套、运动衫等
2020/11/05 全球购物
高三自我评价
2014/02/01 职场文书
运动会广播稿诗歌版
2014/09/12 职场文书
大学生求职简历自我评价
2015/03/02 职场文书
挂职锻炼个人总结
2015/03/05 职场文书
新教师2015年度工作总结
2015/07/22 职场文书
一年级语文教学随笔
2015/08/14 职场文书
2016年小学生寒假总结
2015/10/10 职场文书
小学语文的各类谚语(70首)
2019/08/15 职场文书
导游词之南京夫子庙
2019/12/09 职场文书
Redis集群的关闭与重启操作
2021/07/07 Redis