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 greenlet实现原理和使用示例
Sep 24 Python
详解Python的Django框架中的通用视图
May 04 Python
基于Python的关键字监控及告警
Jul 06 Python
python的unittest测试类代码实例
Dec 07 Python
PyQt5每天必学之进度条效果
Apr 19 Python
详解python算法之冒泡排序
Mar 05 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
Apr 12 Python
python 生成器和迭代器的原理解析
Oct 12 Python
使用python计算三角形的斜边例子
Apr 15 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
Jun 03 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
Jun 14 Python
Sentry的安装、配置、使用教程(Sentry日志手机系统)
Jul 23 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学习之PHP运算符
2006/10/09 PHP
二进制交叉权限微型php类分享
2014/02/07 PHP
ThinkPHP中U方法的使用浅析
2014/06/13 PHP
thinkPHP模型初始化实例分析
2015/12/03 PHP
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
PHP使用观察者模式处理异常信息的方法详解
2019/09/24 PHP
Laravel 5.2 文档 数据库 ―― 起步介绍
2019/10/21 PHP
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
2010/03/12 Javascript
判断在css加载完毕后执行后续代码示例
2014/09/03 Javascript
javascript实现时间格式输出FormatDate函数
2015/01/13 Javascript
Javascript核心读书有感之类型、值和变量
2015/02/11 Javascript
谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
2015/12/03 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
微信小程序中子页面向父页面传值实例详解
2017/03/20 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
vue print.js打印支持Echarts图表操作
2020/11/13 Javascript
python实现异步回调机制代码分享
2014/01/10 Python
Python学习之asyncore模块用法实例教程
2014/09/29 Python
简单理解Python中基于生成器的状态机
2015/04/13 Python
使用Python脚本将文字转换为图片的实例分享
2015/08/29 Python
Python文件操作基本流程代码实例
2017/12/11 Python
Django框架安装方法图文详解
2019/11/04 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
2020/02/28 Python
python利用递归方法实现求集合的幂集
2020/09/07 Python
pytorch 移动端部署之helloworld的使用
2020/10/30 Python
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
建筑工程质量通病防治方案
2014/06/08 职场文书
法律专业大学生职业生涯规划书:向目标一步步迈进
2014/09/22 职场文书
2014年外贸业务员工作总结
2014/12/11 职场文书
打架检讨书范文
2015/01/27 职场文书
秋季运动会开幕词
2015/01/28 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
行政复议决定书
2015/06/24 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS