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 getopt模块处理命令行选项实例
May 13 Python
浅析Python中的for 循环
Jun 09 Python
win系统下为Python3.5安装flask-mongoengine 库
Dec 20 Python
Python实现多线程抓取网页功能实例详解
Jun 08 Python
Python字典数据对象拆分的简单实现方法
Dec 05 Python
python使用sqlite3时游标使用方法
Mar 13 Python
python列表list保留顺序去重的实例
Dec 14 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
Mar 30 Python
Python使用OpenPyXL处理Excel表格
Jul 02 Python
python 解决Windows平台上路径有空格的问题
Nov 10 Python
使用Pytorch搭建模型的步骤
Nov 16 Python
python某漫画app逆向
Mar 31 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 求质素(素数) 的实现代码
2011/04/12 PHP
基于header的一些常用指令详解
2013/06/06 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
PHP 中TP5 Request 请求对象的实例详解
2017/07/31 PHP
php自动加载代码实例详解
2021/02/26 PHP
JavaScript 学习笔记 Black.Caffeine 09.11.28
2009/11/30 Javascript
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
javascript中创建对象的几种方法总结
2013/11/01 Javascript
Node.js node-schedule定时任务隔多少分钟执行一次的方法
2015/02/10 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
jQuery实现大图轮播
2017/02/13 Javascript
基于React实现表单数据的添加和删除详解
2017/03/14 Javascript
浅谈react前后端同构渲染
2017/09/20 Javascript
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
vue使用代理解决请求跨域问题详解
2019/07/24 Javascript
微信小程序 腾讯地图显示偏差问题解决
2019/07/27 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
[01:11:08]Winstrike vs NB 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
Python pymsql模块的使用
2020/09/07 Python
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
Currentbody法国:健康与美容高科技产品
2020/08/16 全球购物
医学院护理专业应届生求职信
2013/11/12 职场文书
往来会计岗位职责
2013/12/19 职场文书
家长对孩子评语
2014/01/30 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
安全生产先进个人事迹材料
2014/12/30 职场文书
安全员岗位职责
2015/02/10 职场文书
2016年基层党支部书记公开承诺书
2016/03/25 职场文书
mysql升级到5.7时,wordpress导数据报错1067的问题
2021/05/27 MySQL
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers
logback 实现给变量指定默认值
2021/08/30 Java/Android