位置: 编程技术 - 正文

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

  • 报税残疾人保障费怎么算
  • 计算企业所得税分录
  • 交车辆购置税会计账务处理
  • 利息发票怎么算
  • 增值税专用发票可以开电子发票吗
  • 缴纳税金属于什么会计分录
  • 商业企业库存商品和销售对不上
  • 专项科研经费
  • 湖南残保金减免优惠政策2020
  • 个人合伙企业有没有企业所得税
  • 盘盈固定资产冲销啥科目
  • 企业恢复生产经营方案
  • 社会保险差额征税的账务处理?
  • 增值税发票总金额是含税金额吗
  • 事业单位发放的工作经费计入哪个科目
  • 金税三期啥意思
  • 计提折旧计算公式是什么
  • win 11bug
  • 商铺水费收取标准2020
  • 双系统跳过磁盘检测
  • xp系统为什么电脑不能用
  • 未形成固定资产的项目卖出怎么入账
  • 收到折扣属于什么会计科目
  • 为员工购买的团员保险
  • 未分配利润分配利润分录
  • 员工加班车费会计分录
  • sisusbrg.exe - sisusbrg是什么进程 有什么用
  • php-cgi
  • 劳务发票服务类型有哪些
  • 关联方核对
  • 金店个体户报什么税
  • 企业所得税必须要季度缴纳吗
  • html列表去掉点
  • 广告代理费收取比例
  • echarts饼图参数配置
  • php批量删除文件
  • 销售折让的会计科目
  • 开收据可以列收入吗
  • mongodb数据库中间创建自己名字首字母的数据库
  • 从农业生产者购进农产品
  • 什么是备抵类账户
  • 住房公积金中的钱可以当首付吗?
  • 差旅费报销范围包括
  • 库存股属于什么账户
  • 出口货物退免税的管理规定
  • 收到设计费属于什么业务类型
  • 安装调试费收费标准
  • 事业单位其他应付款核销分录
  • 机械租赁公司挂牌流程
  • 员工意外险税前扣除比例
  • 其他应收款的二级科目
  • 预付账款有余额吗
  • 增值税专用发票和普通发票的区别
  • 主营业务收入的英文
  • 开具销项负数发票会计分录
  • mysql5.7.19 zip 详细安装过程和配置
  • bulk insert formatfile
  • 阿里云安装apache
  • win8.1应用
  • windows2008防火墙允许远程桌面
  • mac系统删除系统软件
  • 萝卜家园和番茄花园哪个好
  • windows8使用教程
  • linux历史操作
  • WIN10系统优化精简工具
  • Windows搭建代理服务器
  • addObserver和postNotification函数传递函数的区别
  • unity2d横版游戏源码
  • c和unity3d
  • 在js中如何判断数据类型
  • cmd替换文件命令
  • 怎么优化项目
  • android studio如何用安卓手机模拟
  • 推荐几个非常有趣的书
  • python写脚本教程
  • 点评js异步加载什么意思
  • python字符串字符对应个数
  • 火药概念股有哪些
  • 土地规划资质业务范围
  • 地方文化包括哪几种
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设