位置: 编程技术 - 正文

浅谈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)

  • 本期实际抵减税额合计0.00不等于
  • 进项税转出包括什么
  • 生产税净额计算实例
  • 转让不动产账务处理
  • 现金预算属于营业预算吗
  • 预提费用的附件怎么做
  • 年报和汇算清缴报表数字不一致
  • 发票开错但已勾选还需要认证吗
  • 存货盘亏损失可以扣除吗
  • 个体工商户需要缴纳哪些税
  • 融资租入的企业有哪些
  • 资产处置收益结转损益
  • 个税申报没交会收滞纳金吗
  • 企业间借款利息怎么算
  • 税局会例行检查吗
  • 小微企业企业税率表
  • 一般纳税人选择简易计税进项税可以抵扣吗
  • 购货方申请红字信息表,销售方不开会怎么样
  • 往来科目明细表
  • 当月认证下月抵扣
  • 个人社保费需要交多少年
  • 出差人什么意思
  • 全月应纳税所得额什么意思
  • 营改增后房地产企业账务处理
  • 电子设备摊销额怎么算
  • linux 计算字符数
  • 退货 会计
  • 操作系统的类型和比较
  • 提高stable diffusion速度
  • framework在哪看
  • 实际退税能退多少
  • 企业合并一般债权怎么算
  • 工伤报销入账
  • set nu命令
  • 微擎框架安装教程
  • 帝国cms如何使用
  • 小规模纳税人涉税会计分录是哪几个科目
  • 小型微利企业的认定标准2023年
  • 企业的日常活动都有哪些
  • 差额征税的扣除额是填什么钱
  • 员工垫付公司的保险费
  • 人力资源投资收益
  • mysql数据库介绍官方
  • 帝国cms建站实例教程
  • 公司买15万的车可以抵扣多少税
  • 增值税附加税的税收优惠政策
  • 事业单位收到退税账务处理
  • 增值税进项发票如何做账
  • 低值易耗品意思
  • 扶贫小额信贷分贷统还违规吗
  • 固定资产出售账面价值计入什么科目
  • 技术服务所发生的事故
  • 财务费用中的汇兑损益和汇兑收益的区别
  • 其他债权投资计提损失准备会引起资产总额增加吗
  • sqli
  • mysql使用技巧
  • mysql声明全局变量
  • sql数据库分布式部署
  • 卡巴斯基2019
  • wuamkop.exe - wuamkop 进程是什么意思
  • win7进bios设置启动盘
  • Win10 Mobile 10572升级后QQ/微信无法发送图片
  • linux删除大量文件方法
  • win7打开注册表的命令
  • 在win7操作系统中通过什么可以查看计算机的配置
  • win8系统怎么激活
  • linux0.11文件系统
  • win7自动关闭显示器
  • 微信怎么导入主题模块
  • 创建一个css文件
  • python语言基础与应用答案
  • nodejs入门教程
  • unityui渲染顺序
  • 在jquery中fadein
  • jquery each return
  • 多线程 python
  • 准予扣除外购的应税消费品已纳消费税税款的是
  • 车船税属于地方固定收入吗
  • 土地增值税网上申报流程
  • 深圳龙华九价怎么预约
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设