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基于PycURL自动处理cookie的方法
Jul 25 Python
python操作列表的函数使用代码详解
Dec 28 Python
python 限制函数调用次数的实例讲解
Apr 21 Python
对Python字符串中的换行符和制表符介绍
May 03 Python
python使用pandas处理大数据节省内存技巧(推荐)
May 05 Python
Python OpenCV之图片缩放的实现(cv2.resize)
Jun 28 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
Feb 29 Python
Python实现AI换脸功能
Apr 10 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
Jul 03 Python
Django中使用Celery的方法步骤
Dec 07 Python
Python Process创建进程的2种方法详解
Jan 25 Python
python 实现定时任务的四种方式
Apr 01 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面向对象全攻略 (四)构造方法与析构方法
2009/09/30 PHP
php循环语句 for()与foreach()用法区别介绍
2012/09/05 PHP
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
简述php环境搭建与配置
2016/12/05 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
JS 循环li添加点击事件 (闭包的应用)
2016/12/10 Javascript
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
nodejs实现连接mongodb数据库的方法示例
2018/03/15 NodeJs
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
2018/05/05 Javascript
JS插件clipboard.js实现一键复制粘贴功能
2020/12/04 Javascript
node和vue实现商城用户地址模块
2018/12/05 Javascript
记录vue项目中遇到的一点小问题
2019/05/14 Javascript
JS数组方法reverse()用法实例分析
2020/01/18 Javascript
python中list常用操作实例详解
2015/06/03 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
Django 博客实现简单的全文搜索的示例代码
2020/02/17 Python
Python图像处理库PIL的ImageFilter模块使用介绍
2020/02/26 Python
html5 Web SQL Database 之事务处理函数transaction与executeSQL解析
2013/11/07 HTML / CSS
社区工作者思想汇报
2014/01/13 职场文书
公务员更新知识培训实施方案
2014/03/31 职场文书
家长通知书教师评语
2014/04/17 职场文书
产品生产计划书
2014/05/07 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
建筑工地标语
2014/06/18 职场文书
2014年租房协议书范本
2014/10/30 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
Go 中的空白标识符下划线
2022/03/25 Golang
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android