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按行读取文件的实现方法【小文件和大文件读取】
Sep 19 Python
Python 使用os.remove删除文件夹时报错的解决方法
Jan 13 Python
Python3如何解决字符编码问题详解
Apr 23 Python
python模拟鼠标点击和键盘输入的操作
Aug 04 Python
Python Gitlab Api 使用方法
Aug 28 Python
Python lambda表达式filter、map、reduce函数用法解析
Sep 11 Python
pd.DataFrame统计各列数值多少的实例
Dec 05 Python
Django之form组件自动校验数据实现
Jan 14 Python
Python : turtle色彩控制实例详解
Jan 19 Python
Python 识别12306图片验证码物品的实现示例
Jan 20 Python
Python实现自动签到脚本的示例代码
Aug 19 Python
python 动态绘制爱心的示例
Sep 27 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
php通用防注入程序 推荐
2011/02/26 PHP
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
CMS中PHP判断系统是否已经安装的方法示例
2014/07/26 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
2015/03/03 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
Javascript实现的分页函数
2006/12/22 Javascript
JavaScript面向对象编程
2008/03/02 Javascript
Prototype源码浅析 Enumerable部分之each方法
2012/01/16 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
AngularJS 过滤器的简单实例
2016/07/27 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
完美解决vue 中多个echarts图表自适应的问题
2020/07/19 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
Django入门使用示例
2017/12/12 Python
python爬取m3u8连接的视频
2018/02/28 Python
Python类的继承用法示例
2019/01/31 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
澳大利亚男士西服品牌:M.J.Bale
2018/02/06 全球购物
可口可乐唇膏:Lip Smackers
2019/08/27 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
新闻专业学生的自我评价
2014/02/13 职场文书
住院医师规范化培训实施方案
2014/06/12 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
2016七一建党节慰问信
2015/11/30 职场文书
MySQL 数据丢失排查案例
2021/05/08 MySQL
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server