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 相关文章推荐
通过数据库对Django进行删除字段和删除模型的操作
Jul 21 Python
Python处理文本文件中控制字符的方法
Feb 07 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
Mar 19 Python
python 信息同时输出到控制台与文件的实例讲解
May 11 Python
在CMD命令行中运行python脚本的方法
May 12 Python
python3实现SMTP发送邮件详细教程
Jun 19 Python
Pycharm远程调试原理及具体配置详解
Aug 08 Python
浅谈JupyterNotebook导出pdf解决中文的问题
Apr 22 Python
python进度条显示之tqmd模块
Aug 22 Python
python实现感知机模型的示例
Sep 30 Python
python 实现客户端与服务端的通信
Dec 23 Python
Python使用BeautifulSoup4修改网页内容
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
星际争霸中的热键
2020/03/04 星际争霸
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
2019/03/12 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
Javascript里使用Dom操作Xml
2007/01/22 Javascript
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
js实现拉伸拖动iframe的具体代码
2013/08/03 Javascript
js showModalDialog参数的使用详解
2014/01/07 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
javascript获取select标签选中的值
2016/06/04 Javascript
js实现轮播图的两种方式(构造函数、面向对象)
2017/09/30 Javascript
简单的Vue异步组件实例Demo
2017/12/27 Javascript
轻量级JS Cookie插件js-cookie的使用方法
2018/03/22 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
javascript实现雪花飘落效果
2020/08/19 Javascript
vue 项目引入echarts 添加点击事件操作
2020/09/09 Javascript
python中__call__内置函数用法实例
2015/06/04 Python
Python基于opencv的图像压缩算法实例分析
2018/05/03 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
基于Python实现全自动下载抖音视频
2020/11/06 Python
详解CSS3的opacity属性设置透明效果的用法
2016/05/09 HTML / CSS
纯CSS3实现运行时钟的示例代码
2021/01/25 HTML / CSS
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
波兰办公用品和学校用品在线商店:Dlabiura24.pl
2020/11/18 全球购物
建龙钢铁面试总结
2014/04/15 面试题
2014社区三八妇女节活动总结
2014/03/01 职场文书
建设投标担保书
2014/05/13 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
灵魂歌王观后感
2015/06/17 职场文书
MySQL创建管理HASH分区
2022/04/13 MySQL
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang