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的Django框架中设置日期和字段可选的方法
Jul 17 Python
python实现支付宝当面付(扫码支付)功能
May 30 Python
Sanic框架配置操作分析
Jul 17 Python
Python XlsxWriter模块Chart类用法实例分析
Mar 11 Python
Python3实现的简单工资管理系统示例
Mar 12 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
Jun 11 Python
PyQt5 QListWidget选择多项并返回的实例
Jun 17 Python
Python利用PyExecJS库执行JS函数的案例分析
Dec 18 Python
Python使用文件操作实现一个XX信息管理系统的示例
Jul 02 Python
python批量修改交换机密码的示例
Sep 22 Python
Python+Xlwings 删除Excel的行和列
Dec 19 Python
基于python制作简易版学生信息管理系统
Apr 20 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 EOT定界符的使用详解
2008/09/30 PHP
php 数组排序 array_multisort与uasort的区别
2011/03/24 PHP
一个PHP针对数字的加密解密类
2014/03/20 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
Laravel5中contracts详解
2015/03/02 PHP
php+curl 发送图片处理代码分享
2015/07/09 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
基于ThinkPHP实现批量删除
2015/12/18 PHP
PHP基于Redis消息队列实现发布微博的方法
2017/05/03 PHP
jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
2013/06/17 Javascript
javascript利用apply和arguments复用方法
2013/11/25 Javascript
JavaScript中数组的合并以及排序实现示例
2015/10/24 Javascript
Bootstrap每天必学之面板
2015/11/30 Javascript
详解angularJS自定义指令间的相互交互
2017/07/05 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
AngularJS 中的数据源的循环输出
2017/10/12 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
[57:37]EG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python 中 Meta Classes详解
2016/02/13 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
Python 访问限制 private public的详细介绍
2018/10/16 Python
flask-restful使用总结
2018/12/04 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
解决django中form表单设置action后无法回到原页面的问题
2020/03/13 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
Python中的面向接口编程示例详解
2021/01/17 Python
纯css3实现鼠标经过图片显示描述的动画效果
2014/09/01 HTML / CSS
菲律宾酒店预订网站:Hotels.com菲律宾
2017/07/12 全球购物
给幼儿园老师的表扬信
2014/01/19 职场文书
兴趣班停课通知
2015/04/24 职场文书
用JS创建一个录屏功能
2021/11/11 Javascript
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js