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之传说中的函数编写条规
Oct 11 Python
python OpenCV学习笔记实现二维直方图
Feb 08 Python
详谈pandas中agg函数和apply函数的区别
Apr 20 Python
解决Pycharm中import时无法识别自己写的程序方法
May 18 Python
Python for循环生成列表的实例
Jun 15 Python
Python基于滑动平均思想实现缺失数据填充的方法
Feb 21 Python
pycharm中显示CSS提示的知识点总结
Jul 29 Python
Python中list的交、并、差集获取方法示例
Aug 01 Python
Python pip配置国内源的方法
Feb 14 Python
python tkinter之顶层菜单、弹出菜单实例
Mar 04 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
Apr 14 Python
python上下文管理的使用场景实例讲解
Mar 03 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邮件发送,php发送邮件的类
2011/03/24 PHP
php Imagick获取图片RGB颜色值
2014/07/28 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
PHP处理会话函数大总结
2015/08/05 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
鼠标放在图片上显示大图的JS代码
2013/03/26 Javascript
jquery分页插件AmSetPager(自写)
2013/04/15 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
js仿3366小游戏选字游戏
2016/04/14 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
2017/07/13 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
pandas.dataframe按行索引表达式选取方法
2018/10/30 Python
Django 视图层(view)的使用
2018/11/09 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
python三大神器之fabric使用教程
2019/06/10 Python
python实现五子棋小程序
2019/06/18 Python
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
Python学习笔记之Break和Continue用法分析
2019/08/14 Python
Python处理session的方法整理
2019/08/29 Python
python系列 文件操作的代码
2019/10/06 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
Python grequests模块使用场景及代码实例
2020/08/10 Python
用python读取xlsx文件
2020/12/17 Python
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
一道SQL面试题
2012/12/31 面试题
PHP引擎php.ini参数优化深入讲解
2021/03/24 PHP
工作失职检讨书范文
2014/01/16 职场文书
民政局副局长民主生活会个人整改措施
2014/10/04 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
入团申请书格式
2019/06/20 职场文书
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL