位置: 编程技术 - 正文

浅谈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怎样查询报表
  • 专用发票抵扣和免税区别
  • 事业单位财政拨款是编制吗
  • 公司冲销费用凭证是什么
  • 安装win7的步骤
  • 固定资产增值税税率
  • wifi默认网关是什么
  • 商品购进核算
  • 向政府购买土地使用权
  • ros source
  • keyemain.exe是什么
  • uniapp使用高德猎鹰服务
  • 夫妻房子归属权问题
  • 待报解预算收入什么意思
  • 土增税清算时怎么做会计分录
  • 车间主要有哪些事故风险
  • 现金和现金等价物包括哪些
  • 客户借款怎么做账
  • 小规模纳税人零申报流程
  • 其他应付款用什么冲掉
  • 辞退员工福利
  • java线程的四种基本状态
  • vue3.0用法
  • 破产审计需要几年的账
  • 常用sql脚本
  • 发票专用章和财务专用章可以同一人保管吗
  • 增值税勾选统计后如何导出明细表
  • 必要报酬率怎么求
  • 货物运输企业的经营内容
  • 收到发票应如何处理
  • 存货的进口关税计入成本吗
  • 通行费的进项抵税怎么算
  • 向法人借款凭证摘要怎么写
  • 工程公司本月没发工资
  • 高速etc发票如何打印
  • 原股东决定
  • 单位车辆保险费
  • 会计账簿的扉页只需填列账簿启用日期和经管人员一览表
  • sql语句查询有多少条数据
  • jdbc连接mysql数据库步骤
  • 如何用u盘装系统win10
  • win7系统怎么重置网络
  • win10通知栏点击没反应
  • win7系统ie浏览器打不开
  • linux服务器的mac地址怎么查
  • win8系统怎么样好用吗
  • 回调阶段
  • unity 读取xml文件
  • jquery移动div到另一个div中
  • linux随机数生成1到100
  • unity游戏加密
  • javascript基本概念
  • android app安全
  • 河北税务官网电子税务局
  • 出口发票与报关单名称不一致影响退税吗
  • 税务局国际税收亮点工作总结
  • 办理对外支付税务备案需要多久时间
  • 国家税务北京税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设