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实现的防DDoS脚本
Feb 08 Python
python使用scrapy解析js示例
Jan 23 Python
在Django的模板中使用认证数据的方法
Jul 23 Python
举例讲解Python中的Null模式与桥接模式编程
Feb 02 Python
redis之django-redis的简单缓存使用
Jun 07 Python
Python基于多线程实现ping扫描功能示例
Jul 23 Python
详解DeBug Python神级工具PySnooper
Jul 03 Python
一行python实现树形结构的方法
Aug 09 Python
利用Python产生加密表和解密表的实现方法
Oct 15 Python
python库matplotlib绘制坐标图
Oct 18 Python
python基于socket实现的UDP及TCP通讯功能示例
Nov 01 Python
分享提高 Python 代码的可读性的技巧
Mar 03 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获取短链接跳转后的真实地址和响应头信息的方法
2014/07/25 PHP
C/S和B/S两种架构区别与优缺点分析
2014/10/23 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
JavaScript Ajax编程 应用篇
2016/07/02 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
vue.js的安装方法
2017/05/12 Javascript
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
vue刷新和tab切换实例
2018/02/11 Javascript
关于JS解构的5种有趣用法
2019/09/05 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
Python3处理文件中每个词的方法
2015/05/22 Python
python删除服务器文件代码示例
2018/02/09 Python
python模仿网页版微信发送消息功能
2018/02/24 Python
python 在屏幕上逐字显示一行字的实例
2018/12/24 Python
python爬虫 爬取58同城上所有城市的租房信息详解
2019/07/30 Python
python下载库的步骤方法
2019/10/12 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
Python安装whl文件过程图解
2020/02/18 Python
大学生毕业求职的自我评价
2013/09/29 职场文书
文明寝室申报材料
2014/05/12 职场文书
党的生日演讲稿
2014/09/10 职场文书
高三毕业评语
2014/12/31 职场文书
银行岗位培训心得体会
2016/01/09 职场文书
大学社团活动总结怎么写
2019/06/21 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS
Linux中Nginx的防盗链和优化的实现代码
2021/06/20 Servers
Python中的套接字编程是什么?
2021/06/21 Python
MySql重置root密码 --skip-grant-tables
2022/04/11 MySQL
win10清理dns缓存
2022/04/19 数码科技