位置: 编程技术 - 正文

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

  • 企业所得税如何申报操作
  • 上一年度亏损,本年怎么计算企业所得税
  • 固定资产清理费用计入哪里
  • 汇款退回来的可以不做账吗
  • 其他现代服务业能开哪些税目
  • 小规模纳税人税率有几种
  • 经营所得税投资者减除费用
  • 营业税金及附加借贷方向
  • 其他债权投资减值账务处理
  • 委托加工什么时候代收代缴消费税
  • 企业合并的被合并方会计分录
  • 超额投资是什么意思
  • 没有合同可以收违约金
  • 退休返聘人员工资
  • 租赁算投资吗
  • 协会会费收入会计科目
  • 设备安装和设备出售的税率一样吗
  • 出口退税对企业利润的影响
  • 继承房产出售时交个人所得税税率是多少
  • 通用机打发票税率在哪改
  • 税务稽查的内容
  • 乙公司为支付甲公司货款向其签发
  • 本期销售额未达起征点请将本期应纳税额
  • 多缴税款能否跨年抵扣
  • 购买汽车可以开普通发票吗
  • 一次发放数月的高温津贴如何计算个税?
  • 公司加农户经营模式
  • 银行电子承兑如何撤回
  • 房地产企业申请破产,原来的购房合同还有效吗?
  • 房租租赁公司,对方还没付租金,怎么挂帐
  • 最新版win10激活
  • windows无法验证显卡驱动的数字签名
  • 未取得专用发票是否计算增值税
  • 物业收取停车费归谁所有
  • 自制原始发票
  • 资产减值对应科目
  • yii2超好用的日期组件和时间组件
  • 增值税留抵税额可以结转下一年吗
  • react roter
  • html/css/javascript
  • javaweb重点知识总结
  • ping命令可以用来测试什么
  • 命令行窗口
  • 承租人对融资租赁的处理原则
  • 小规模增值税结转账务处理
  • wordpress限制下载次数
  • 收到赠送的货物会计分录
  • 接受捐赠要确认收入吗
  • 房租能不能一次性付清
  • 固定资产的修理费属于什么费用
  • 本年利润是不是未分配利润
  • 收入分成的账务处理
  • 销售佣金的三大特点是什么?
  • 银行承兑汇票去哪个银行承兑
  • 餐饮开票税率
  • 坏账损失记入
  • 车辆保险费计入现金流量表哪里
  • 银行汇票质押办理流程
  • 子公司的财务管理方法
  • 批量查询sql语句
  • xp系统无法启动怎么办
  • mac怎么自动清理垃圾软件
  • ubuntu 配置
  • mac terminal在哪里
  • win7控制面板有哪些功能
  • centos7怎么修改用户权限
  • win7系统纯净版和旗舰版有什么区别
  • win8系统谷歌浏览器打不开
  • win7电脑无法正常启动系统
  • win10预览版21390
  • unix怎么操作
  • 搜狗浏览器2019版本
  • textureformat
  • [置顶]电影名字《收件人不详》
  • js经典实例
  • shell脚本运行linux命令
  • shell的使用
  • 什么情况下税务局会罚款
  • 如何查询车辆购买信息
  • 电子发票提取网站
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设