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实现数独算法实例
Jun 09 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
使用pandas中的DataFrame数据绘制柱状图的方法
Apr 10 Python
PyTorch CNN实战之MNIST手写数字识别示例
May 29 Python
基于pycharm导入模块显示不存在的解决方法
Oct 13 Python
windows下搭建python scrapy爬虫框架步骤
Dec 23 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
Jun 03 Python
python内存监控工具memory_profiler和guppy的用法详解
Jul 29 Python
python 计算两个列表的相关系数的实现
Aug 29 Python
tensorflow查看ckpt各节点名称实例
Jan 21 Python
python实现单张图像拼接与批量图片拼接
Mar 23 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
Nov 10 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
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
2014/01/09 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
2014/07/01 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
JS模拟面向对象全解(一、类型及传递)
2011/07/13 Javascript
查询json的数据结构的8种方式简介
2014/03/10 Javascript
jQuery控制网页打印指定区域的方法
2015/04/07 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
2015/09/26 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
2015/10/16 Javascript
node.js入门实例helloworld详解
2015/12/23 Javascript
javascript关于继承解析
2016/05/10 Javascript
jQuery获取剪贴板内容的方法
2016/06/16 Javascript
AngularJS ng-bind-template 指令详解
2016/07/30 Javascript
第一次接触神奇的Bootstrap菜单和导航
2016/08/01 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
JavaScript实现各种排序的代码详解
2017/08/28 Javascript
angularjs select 赋值 ng-options配置方法
2018/02/28 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
JS Web Flex弹性盒子模型代码实例
2020/03/10 Javascript
解决vue+router路由跳转不起作用的一项原因
2020/07/19 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
python 数据加密代码
2008/12/24 Python
python登录豆瓣并发帖的方法
2015/07/08 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
2018/02/03 Python
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
Oakley官网:运动太阳镜、雪镜和服装
2016/09/30 全球购物
淘宝网店营销策划书
2014/01/11 职场文书
大学军训感言400字
2014/03/11 职场文书
小学生春游活动方案
2014/08/20 职场文书
心得体会的写法
2014/09/05 职场文书
2014年教育教学工作总结
2014/11/13 职场文书
父亲节活动总结
2015/02/12 职场文书
医院保洁员管理制度
2015/08/05 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
python 使用tkinter与messagebox写界面和弹窗
2022/03/20 Python