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编写一个简单的Lisp解释器的教程
Apr 03 Python
对于Python的框架中一些会话程序的管理
Apr 20 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
Apr 27 Python
Python Socket编程详细介绍
Mar 23 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
Python 实现微信防撤回功能
Apr 29 Python
使用pyshp包进行shapefile文件修改的例子
Dec 06 Python
Pytorch 高效使用GPU的操作
Jun 27 Python
Pyinstaller打包Scrapy项目的实现步骤
Sep 22 Python
详解Python中的文件操作
Jan 14 Python
python基于爬虫+django,打造个性化API接口
Jan 21 Python
Python 图片处理库exifread详解
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
星际争霸 Starcraft 发展史
2020/03/14 星际争霸
写一个用户在线显示的程序
2006/10/09 PHP
php self,$this,const,static,->的使用
2009/10/22 PHP
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
php引用地址改变变量值的问题
2012/03/23 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
2013/06/27 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
2014/05/19 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
PHP7 参数处理机制修改
2021/03/09 PHP
jquery zTree异步加载简单实例分享
2013/02/05 Javascript
js简单的弹出框有关闭按钮
2014/05/05 Javascript
jquery动态添加删除(tr/td)
2015/02/09 Javascript
JavaScript面向对象编写购物车功能
2016/08/19 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
Python中zip()函数用法实例教程
2014/07/31 Python
Python pickle模块用法实例分析
2015/05/27 Python
Python实现把数字转换成中文
2015/06/29 Python
Python实现的爬虫功能代码
2017/06/24 Python
PyQt5 pyqt多线程操作入门
2018/05/05 Python
django admin 后台实现三级联动的示例代码
2018/06/22 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
python list数据等间隔抽取并新建list存储的例子
2019/11/27 Python
pytorch的batch normalize使用详解
2020/01/15 Python
详解python中各种文件打开模式
2020/01/19 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
加拿大最大的箱包及旅游配件零售商:Bentley Leathers
2017/07/19 全球购物
设计模式的基本要素是什么
2014/04/21 面试题
元旦促销方案
2014/03/15 职场文书
企业诚信承诺书
2014/05/23 职场文书
小学“向国旗敬礼”网上签名寄语活动总结
2014/09/27 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
2015年团队工作总结范文
2015/05/04 职场文书
迎新晚会主持词开场白
2015/05/28 职场文书
小学美术教学反思
2016/02/17 职场文书