位置: 编程技术 - 正文

浅谈python对象数据的读写权限(python中对象的概念)

编辑:rootadmin

推荐整理分享浅谈python对象数据的读写权限(python中对象的概念),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python中对象的概念,python对象的含义,python对象的方法,python 对象函数,python对象的属性和方法,python 对象函数,python对象类型有哪些,python中的对象,内容如对您有帮助,希望把文章链接给更多的朋友!

面向对象的编程语言在写大型程序的的时候,往往比面向过程的语言用起来更方便,安全。其中原因之一在于:类机制。

类,对众多的数据进行分类,封装,让一个数据对象成为一个完整的个体,贴近现实生活,高度抽象化。但是,python对类的封装并不好,因为所有的属性和方法都是公开的,你可以随意访问或者写入,你可以在类的外部对类的属性进行修改,甚至添加属性。这的确让人感到不安。

下面就来总结一下学习后的解决方案。

1,使用2个下划线前缀隐藏属性或者方法。

双下划线对类属性的影响:

1. 使属性只用于本类的内部,外部以及子类都不可直接读取修改。

2. 使用 _ _ 的类的属性,在实现时会被更改名称,如类中的__age 最后会变为_A__age (名称重整),这个好处是:通常用于涉及到继承的父类中使用。这样避免被子类属性覆盖。

2.创建可管理的属性。

有时候我们需要对属性的写入做额外的检查,对不合法的值拒绝写入,引发异常。

我们可以发现: self.__score是 属性值 的真正存储的地方,而self.score是函数(只不过它用起来像一个属性),它是获取和写入属性值的方法。

浅谈python对象数据的读写权限(python中对象的概念)

初始化的时候也会调用socre.setter 装饰的函数,因为__init__()函数下出现了self.score的调用

既然self.__score仅仅用来引用属性的值,可不可以用别的命名呢?如saveScore....当然是可以的,但是,它“暴露”了,我们不想让它在外部可用,还是应该

加 __ 将它隐藏,防止意外修改。

有时候,你确定某个类不会涉及到继承,那么,就可以将上述的双下划线改写为单下滑线,虽然不会达到隐藏的作用,但是:一方面,这样不会引发名称重整机制,

避免小题大做,另一面,用一个下划线开头,可以提醒使用者,这个属性不应该直接使用。那么,这就靠自觉了。

一个实例对象可以在外部随意添加属性。

这样,对象的属性就限定在类的内部了。

但是__slots__不能被继承。而且,__slots__的设计本意并不是上面的用法,而是创建大量(万计)对象时对内存占用进行优化。

总结:

写着写着,我发觉上面的技巧意义不大。类的设计是程序员本人,使用者也是本人,那么,对象属性的

读和写就应该自己把握,类设计时本身不需要太多的保护代码,否则会很臃肿,而且效率降低。保护措施应该发生在类的外部,让类对象接受到的数据永远是合法的,这样会更加轻巧灵活。这是我的感受。

以上这篇浅谈python对象数据的读写权限就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

使用Python进行二进制文件读写的简单方法(推荐) 总的感觉,python本身并没有对二进制进行支持,不过提供了一个模块来弥补,就是struct模块。python没有二进制类型,但可以存储二进制类型的数据,就

Python 读写文件和file对象的方法(推荐) 1.open使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。file_object=open('thefile.txt')try:all_the_text=file

详细介绍Python的鸭子类型 鸭子类型基本定义首先Python不支持多态,也不用支持多态,python是一种多态语言,崇尚鸭子类型。以下是维基百科中对鸭子类型得论述:在程序设计中

标签: python中对象的概念

本文链接地址:https://www.jiuchutong.com/biancheng/385431.html 转载请保留说明!

上一篇:python获取list下标及其值的简单方法(python获取list集合中某一元素的值)

下一篇:使用Python进行二进制文件读写的简单方法(推荐)(python2ide)

  • 全额纳税是什么意思
  • 出口退税货物的进项税处理
  • 增值税 普通税
  • 开发支出在资产负债表是怎
  • 旅客运输进项税可以加计抵减么
  • 折扣金额发票
  • 转业士官自谋职业
  • 常见的税收优惠
  • 车辆报废收入如何处理
  • 无形资产出租后还要摊销吗
  • 退货重新下单要付款吗
  • 实收资本借方增加还是减少
  • 支付拆迁补偿款
  • 工会经费计入应付职工薪酬
  • 固定资产领用材料进项税处理
  • 装卸费可以抵扣销项税额吗
  • 关联申报不报有影响吗
  • 用友t3财务报表模块打不开
  • 小规模纳税人 行业
  • 商贸公司开办费用
  • 其他收益等于什么
  • 合并报表的收入
  • 发票查出来显示不一致是为啥
  • 铁路改道作业的流程
  • 工商年检填写数据填错了会罚款吗
  • 个人所得税汇算清缴包括哪些项目
  • 公司注册资金抽逃
  • linux安装c语言环境
  • 管理人员预借差旅费会计分录怎么写
  • vue.js前端
  • php自定义函数的语法格式
  • 无线路由器wifi指示灯不亮
  • 超出经营范围开票怎么处理
  • 如何修改家里的wifi密码
  • 增值税留抵税额计入什么科目
  • 德国楚格峰一日游攻略
  • 谷歌浏览器跨域解决方案
  • 销售费用可以开专票吗
  • vue实例教程
  • react useref获取dom元素
  • 前端都有哪些
  • 进项税额转出在申报的时候怎么填
  • python中类方法有什么用
  • centos7.9 防火墙
  • 建筑业委托加工合同范本
  • 民办学校建筑要求
  • 资产处置损益是当期损益吗
  • 小微企业有什么优惠政策
  • 子公司向母公司交利润 需要纳税吗
  • 公司间借款利息怎么开发票
  • 投资收益属于什么科目,借贷方向
  • 收到货款确认收入还是开好发票确认收入
  • 安装工程什么时候套脚手架搭拆
  • 社保申报工伤怎么操作
  • 资产负债表中各项目的期末余额
  • 未分配利润的
  • 电子发票开票方怎么做账?
  • 应付未付款项
  • 会计凭证要保存多少年企业注销
  • mysql union join
  • sql server多表查询
  • sql语句大全实例教程
  • 关于读书的名言名句
  • vista loader
  • win7 系统启动
  • 笔记本xp系统怎么升级win7系统
  • 驱动人生公司怎么样
  • windows安装mq
  • Android 开源项目集合
  • 新浪微博 app 安卓
  • app录音功能开发
  • python爬虫403解决方案
  • python字符串大全
  • jquery 判断是否显示
  • jquery如何解决跨域问题
  • 留抵退税再提速
  • 宁波市开发区
  • 如何理解新时代新征程党的使命任务
  • 贷款抵押担保合同
  • 税务筹划收费标准最新
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设