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网页解析利器BeautifulSoup安装使用介绍
Mar 17 Python
使用python调用zxing库生成二维码图片详解
Jan 10 Python
Python初学时购物车程序练习实例(推荐)
Aug 08 Python
Python socket套接字实现C/S模式远程命令执行功能案例
Jul 06 Python
python实现嵌套列表平铺的两种方法
Nov 08 Python
使用python3构建文件传输的方法
Feb 13 Python
python程序控制NAO机器人行走
Apr 29 Python
PyQt5 QListWidget选择多项并返回的实例
Jun 17 Python
Python自定义一个异常类的方法
Jun 27 Python
解决pytorch 交叉熵损失输出为负数的问题
Jul 07 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
Jul 09 Python
编写python代码实现简单抽奖器
Oct 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
dedecms系统的广告设置代码 基础版本
2010/04/09 PHP
php常用文件操作函数汇总
2014/11/22 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
laravel配置Redis多个库的实现方法
2019/04/10 PHP
JavaScript学习笔记(十)
2010/01/17 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
2013/07/11 Javascript
javascript获得当前的信息的一些常用命令
2015/02/25 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
2015/03/13 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
轻松学习Javascript闭包
2017/03/01 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
浅谈Vue组件及组件的注册方法
2018/08/24 Javascript
微信小程序云开发如何使用npm安装依赖
2019/05/18 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
基于js实现数组相邻元素上移下移
2020/05/19 Javascript
跟老齐学Python之关于类的初步认识
2014/10/11 Python
python实现ipsec开权限实例
2014/11/11 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
Python绘制的二项分布概率图示例
2018/08/22 Python
python实现飞机大战
2018/09/11 Python
Python饼状图的绘制实例
2019/01/15 Python
python3利用Socket实现通信的方法示例
2019/05/06 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
2020/02/28 Python
CSS3 分类菜单效果
2019/05/27 HTML / CSS
会务接待方案
2014/02/27 职场文书
人事专员岗位职责范本
2014/03/04 职场文书
中学生旷课检讨书2篇
2014/10/09 职场文书
组织生活会发言材料
2014/12/15 职场文书
先进典型事迹材料
2014/12/29 职场文书
股东大会通知
2015/04/24 职场文书
开学随笔
2015/08/15 职场文书
原生JS封装vue Tab切换效果
2021/04/28 Vue.js