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自动安装pip
Apr 24 Python
利用Python中的mock库对Python代码进行模拟测试
Apr 16 Python
python使用wxpython开发简单记事本的方法
May 20 Python
python先序遍历二叉树问题
Nov 10 Python
python入门教程 python入门神图一张
Mar 05 Python
用Python下载一个网页保存为本地的HTML文件实例
May 21 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
Jan 30 Python
python实现文件的分割与合并
Aug 29 Python
Pycharm debug调试时带参数过程解析
Feb 03 Python
python下载的库包存放路径
Jul 27 Python
pytorch中的model=model.to(device)使用说明
May 24 Python
python的列表生成式,生成器和generator对象你了解吗
Mar 16 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基础知识回顾
2012/08/16 PHP
一个不易被发现的PHP后门代码解析
2014/07/05 PHP
PHP无限极分类函数的实现方法详解
2017/04/15 PHP
js调用flash的效果代码
2008/04/26 Javascript
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
javascript中数组的多种定义方法和常用函数简介
2014/05/09 Javascript
jquery获取一个元素下面相同子元素的个数代码
2014/07/31 Javascript
jQuery中addClass()方法用法实例
2015/01/05 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
js+css简单实现网页换肤效果
2015/12/29 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
jquery获取easyui日期控件的值实现方法
2016/11/09 Javascript
JavaScript中常见的八个陷阱总结
2017/06/28 Javascript
微信小程序实现美团菜单
2018/06/06 Javascript
微信小程序实现弹出菜单
2018/07/19 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
php使用递归与迭代实现快速排序示例
2014/01/23 Python
python访问类中docstring注释的实现方法
2015/05/04 Python
详解python的webrtc库实现语音端点检测
2017/05/31 Python
python实现名片管理系统项目
2019/04/26 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
pytorch 批次遍历数据集打印数据的例子
2019/12/30 Python
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
俄罗斯电子产品、计算机和家用电器购物网站:OLDI
2019/10/27 全球购物
电子银行营销方案
2014/02/22 职场文书
信息技术课后反思
2014/04/27 职场文书
2014年最新版离婚协议书范本
2014/11/25 职场文书
寒假社会实践个人总结
2015/03/06 职场文书
2015年教师节慰问信
2015/03/23 职场文书
海洋天堂观后感
2015/06/05 职场文书
导游词之云南丽江古城
2019/09/17 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang
浅析Python中的套接字编程
2021/06/22 Python
Python一些基本的图像操作和处理总结
2021/06/23 Python
SpringBoot连接MySQL获取数据写后端接口的操作方法
2021/11/02 MySQL