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的chardet库获得文件编码并修改编码
Jan 22 Python
Python输出汉字字库及将文字转换为图片的方法
Jun 04 Python
python类的方法属性与方法属性的动态绑定代码详解
Dec 27 Python
Python matplotlib绘图可视化知识点整理(小结)
Mar 16 Python
把csv文件转化为数组及数组的切片方法
Jul 04 Python
Python装饰器简单用法实例小结
Dec 03 Python
python2.7 安装pip的方法步骤(管用)
May 05 Python
使用Tensorflow实现可视化中间层和卷积层
Jan 24 Python
Keras—embedding嵌入层的用法详解
Jun 10 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
详解anaconda安装步骤
Nov 23 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
Feb 25 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
PHPLog php 程序调试追踪工具
2009/09/09 PHP
PHP学习笔记之二
2011/01/17 PHP
linux iconv方法的使用
2011/10/01 PHP
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
windows7下安装php的php-ssh2扩展教程
2014/07/04 PHP
php的socket编程详解
2016/11/20 PHP
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
关于laravel5.5的定时任务详解(demo)
2019/10/23 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
在javascript中执行任意html代码的方法示例解读
2013/12/25 Javascript
网页右下角弹出窗体实现代码
2014/06/05 Javascript
jQuery实现Tab菜单滚动切换的方法
2015/09/21 Javascript
Jil,高效的json序列化和反序列化库
2017/02/15 Javascript
利用JavaScript的%做隔行换色的实例
2017/11/25 Javascript
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
详解node Async/Await 更好的异步编程解决方案
2018/05/10 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
[01:10]DOTA2亚洲邀请赛 征战号角响彻全场
2015/01/06 DOTA
[00:37]DOTA2上海特级锦标赛 Secert 战队宣传片
2016/03/03 DOTA
Python编程语言的35个与众不同之处(语言特征和使用技巧)
2014/07/07 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
do you have any Best Practice for testing
2016/06/04 面试题
成人教育自我鉴定
2013/11/01 职场文书
中学生演讲稿
2014/04/26 职场文书
党员干部观看《周恩来四个昼夜》思想汇报
2014/09/10 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
2015年教研室工作总结范文
2015/05/23 职场文书
逃出克隆岛观后感
2015/06/09 职场文书