Python面向对象之私有属性和私有方法应用案例分析


Posted in Python onDecember 31, 2019

本文实例讲述了Python面向对象之私有属性和私有方法。分享给大家供大家参考,具体如下:

01. 应用场景及定义方式

应用场景

在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到
私有属性 就是 对象 不希望公开的 属性
私有方法 就是 对象 不希望公开的 方法

定义方式

在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法

 Python面向对象之私有属性和私有方法应用案例分析

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 相关文章推荐
安装Python的web.py框架并从hello world开始编程
Apr 25 Python
Django 前后台的数据传递的方法
Aug 08 Python
python之当你发现QTimer不能用时的解决方法
Jun 21 Python
ML神器:sklearn的快速使用及入门
Jul 11 Python
对Django外键关系的描述
Jul 26 Python
详解Django配置优化方法
Nov 18 Python
使用python实现画AR模型时序图
Nov 20 Python
python模块hashlib(加密服务)知识点讲解
Nov 25 Python
python3.x 生成3维随机数组实例
Nov 28 Python
Django实现任意文件上传(最简单的方法)
Jun 03 Python
python和c语言哪个更适合初学者
Jun 22 Python
Python字典取键、值对的方法步骤
Sep 30 Python
Pycharm最新激活码2019(推荐)
Dec 31 #Python
python ftplib模块使用代码实例
Dec 31 #Python
深入了解如何基于Python读写Kafka
Dec 31 #Python
Python面向对象之继承原理与用法案例分析
Dec 31 #Python
pytorch中nn.Conv1d的用法详解
Dec 31 #Python
Python实现剪刀石头布小游戏(与电脑对战)
Dec 31 #Python
Pytorch之卷积层的使用详解
Dec 31 #Python
You might like
ThinkPHP3.1数据CURD操作快速入门
2014/06/19 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
php将服务端的文件读出来显示在web页面实例
2016/10/31 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
nw.js实现类似微信的聊天软件
2015/03/16 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
2015/07/27 Javascript
jQuery:unbind方法的使用详解
2017/08/14 jQuery
jQuery实现的文字逐行向上间歇滚动效果示例
2017/09/06 jQuery
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
Javascript中弹窗confirm与prompt的区别
2018/10/26 Javascript
基于JS实现web端录音与播放功能
2019/04/17 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
浅谈Vue使用Elementui修改默认的最快方法
2020/12/05 Vue.js
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
利用arcgis的python读取要素的X,Y方法
2018/12/22 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
python脚本执行CMD命令并返回结果的例子
2019/08/14 Python
python并发爬虫实用工具tomorrow实用解析
2019/09/25 Python
pygame用blit()实现动画效果的示例代码
2020/05/28 Python
Silk’n激光脱毛器官网:silkn.com
2016/10/06 全球购物
高一政治教学反思
2014/01/28 职场文书
道路交通安全实施方案
2014/03/12 职场文书
鸿星尔克广告词
2014/03/21 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
文明单位创建材料
2014/12/24 职场文书
贷款收入证明范本
2015/06/12 职场文书
退休教师追悼词
2015/06/23 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
Django与数据库交互的实现
2021/06/03 Python
人民币符号
2022/02/17 杂记
10大幻兽系恶魔果实 蝙蝠果实上榜,第一自愈能力强
2022/03/18 日漫
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫