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 Tkinter GUI编程入门介绍
Mar 10 Python
python处理csv数据的方法
Mar 11 Python
python实现文本去重且不打乱原本顺序
Jan 26 Python
Python中矩阵库Numpy基本操作详解
Nov 21 Python
Python实现二维曲线拟合的方法
Dec 29 Python
Python多项式回归的实现方法
Mar 11 Python
Python使用LDAP做用户认证的方法
Jun 20 Python
Python队列RabbitMQ 使用方法实例记录
Aug 05 Python
使用tqdm显示Python代码执行进度功能
Dec 08 Python
Python socket聊天脚本代码实例
Jan 02 Python
Django路由层URLconf作用及原理解析
Sep 24 Python
Django执行源生mysql语句实现过程解析
Nov 12 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实现绘制3D扇形统计图及图片缩放实例
2014/10/01 PHP
php实现中文字符截取防乱码方法汇总
2015/04/29 PHP
mysql查找删除重复数据并只保留一条实例详解
2016/09/24 PHP
ASP小贴士/ASP Tips javascript tips可以当桌面
2009/12/10 Javascript
jQuery基础框架浅入剖析
2012/12/27 Javascript
解析javascript系统错误:-1072896658的解决办法
2013/07/08 Javascript
网页中可关闭的漂浮窗口实现可自行调节
2013/08/20 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
2015/02/25 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
原生JavaScript实现异步多文件上传
2015/12/02 Javascript
动态设置form表单的action属性的值的简单方法
2016/05/25 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
2016/12/02 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
利用vue.js插入dom节点的方法
2017/03/15 Javascript
移动端网页开发调试神器Eruda的介绍与使用技巧
2017/10/30 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
js实现带积分弹球小游戏
2020/07/21 Javascript
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
详解Golang 与python中的字符串反转
2017/07/21 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
在django中form的label和verbose name的区别说明
2020/05/20 Python
Python读取图像并显示灰度图的实现
2020/12/01 Python
西班牙英格列斯百货法国官网:El Corte Inglés法国
2017/07/09 全球购物
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
城市观光通行证:The Sightseeing Pass
2018/04/28 全球购物
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
医院后勤自我鉴定
2013/10/13 职场文书
书法比赛获奖感言
2014/02/10 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书
常务副总经理岗位职责
2015/02/02 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers