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数据可视化正态分布简单分析及实现代码
Dec 04 Python
使用Python写一个小游戏
Apr 02 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
Jun 06 Python
python批量修改图片大小的方法
Jul 24 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
Mar 14 Python
Python中的asyncio代码详解
Jun 10 Python
Python GUI编程 文本弹窗的实例
Jun 11 Python
查看端口并杀进程python脚本代码
Dec 17 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
May 22 Python
彻底解决Python包下载慢问题
Nov 15 Python
Python应用自动化部署工具Fabric原理及使用解析
Nov 30 Python
python解决12306登录验证码的实现
Apr 18 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
桌面中心(四)数据显示
2006/10/09 PHP
php抓取页面与代码解析 推荐
2010/07/23 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
Yii针对添加行的增删改查操作示例
2016/10/18 PHP
php 如何禁用eval() 函数实例详解
2016/12/01 PHP
PHP利用递归函数实现无限级分类的方法
2019/03/22 PHP
editable.js 基于jquery的表格的编辑插件
2011/10/24 Javascript
AngularJS学习笔记之TodoMVC的分析
2015/02/22 Javascript
JavaScript判断是否为数字的4种方法及效率比较
2015/04/01 Javascript
JavaScript SHA1加密算法实现详细代码
2016/10/06 Javascript
JS去除字符串中空格的方法
2017/02/14 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
js实现数字递增特效【仿支付宝我的财富】
2017/05/05 Javascript
Javascript调试之console对象——你不知道的一些小技巧
2017/07/10 Javascript
vue2.0的contextmenu右键弹出菜单的实例代码
2017/07/24 Javascript
基于Swiper实现移动端页面图片轮播效果
2017/12/28 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
python实现画圆功能
2018/01/25 Python
python如何实现内容写在图片上
2018/03/23 Python
Python自定义线程类简单示例
2018/03/23 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
Python hashlib模块实例使用详解
2019/12/24 Python
Python通过两个dataframe用for循环求笛卡尔积
2020/04/29 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
python 多进程和协程配合使用写入数据
2020/10/30 Python
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
局域网定义和特性
2016/01/23 面试题
英语系本科生个人求职信
2013/09/21 职场文书
求职信怎么写范文
2014/05/26 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
店面出租协议书范本
2014/11/28 职场文书
三潭印月的导游词
2015/02/12 职场文书
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript