Python私有属性私有方法应用实例解析


Posted in Python onSeptember 15, 2020

01. 应用场景及定义方式

应用场景

  • 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到
  • 私有属性 就是 对象 不希望公开的 属性
  • 私有方法 就是 对象 不希望公开的 方法

定义方式

在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法

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 不关闭控制台的实现方法
Oct 23 Python
python pdb调试方法分享
Jan 21 Python
一个计算身份证号码校验位的Python小程序
Aug 15 Python
如何使用python爬取csdn博客访问量
Feb 14 Python
python模块导入的细节详解
Dec 10 Python
如何基于python操作json文件获取内容
Dec 24 Python
Tensorflow 卷积的梯度反向传播过程
Feb 10 Python
python实现文法左递归的消除方法
May 22 Python
python小白学习包管理器pip安装
Jun 09 Python
python实例化对象的具体方法
Jun 17 Python
matplotlib基础绘图命令之imshow的使用
Aug 13 Python
Pytorch使用shuffle打乱数据的操作
May 20 Python
PyQt5多线程防卡死和多窗口用法的实现
Sep 15 #Python
PyQt5结合matplotlib绘图的实现示例
Sep 15 #Python
pycharm激活方法到2099年(激活流程)
Sep 22 #Python
pycharm专业版远程登录服务器的详细教程
Sep 15 #Python
深入浅析pycharm中 Make available to all projects的含义
Sep 15 #Python
pycharm-professional-2020.1下载与激活的教程
Sep 21 #Python
有关pycharm登录github时有的时候会报错connection reset的问题
Sep 15 #Python
You might like
PHP三层结构(上) 简单三层结构
2010/07/04 PHP
PHP 读取Postgresql中的数组
2013/04/14 PHP
php从数组中随机选择若干不重复元素的方法
2015/03/14 PHP
Yii2如何批量添加数据
2016/05/17 PHP
jQuery控制TR显示隐藏的三种常用方法
2014/08/21 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
2016/01/05 Javascript
JavaScript数据类型学习笔记
2016/01/25 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
jquery点击切换背景色的简单实例
2016/08/25 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
详解ECMAScript typeof用法
2018/07/25 Javascript
小程序实现左右来回滚动字幕效果
2018/12/28 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
小程序自定义单页面、全局导航栏的实现代码
2019/03/15 Javascript
JS获取动态添加元素的方法详解
2019/07/31 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
vue(2.x,3.0)配置跨域代理
2019/11/27 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
python计算方程式根的方法
2015/05/07 Python
详解Python pygame安装过程笔记
2017/06/05 Python
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
python模块导入的方法
2019/10/24 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
Python scrapy爬取小说代码案例详解
2020/07/09 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
2020/08/28 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
2020/09/01 Python
CSS3中animation实现流光按钮效果
2020/12/21 HTML / CSS
在HTML5 Canvas中放入图片和保存为图片的方法
2014/05/03 HTML / CSS
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
经典c++面试题二
2015/08/14 面试题
幼儿园六一儿童节文艺汇演主持词
2014/03/21 职场文书
党员公开承诺书内容
2014/05/20 职场文书
MySQL数据迁移相关总结
2021/04/29 MySQL
SQL Server内存机制浅探
2022/04/06 SQL Server