当前位置: 首页 > news >正文

网站验证码目录简单带数据库的网站模版

网站验证码目录,简单带数据库的网站模版,服务器网站搬家,百度seo公司引言 在前面介绍Python容器的时候#xff0c;我们曾经用过这种夸张的表述#xff0c;“Python就是包裹在一堆语法糖中的字典”。虽然夸张#xff0c;其实更多的是为了突出Python中dict的强大之处。今天这篇文章#xff0c;打算看下Python中类对象、实例对象的表示及内存管理…引言 在前面介绍Python容器的时候我们曾经用过这种夸张的表述“Python就是包裹在一堆语法糖中的字典”。虽然夸张其实更多的是为了突出Python中dict的强大之处。今天这篇文章打算看下Python中类对象、实例对象的表示及内存管理又会涉及到dict。 实例对象的__dict__属性 先说结论从内部实现的角度来看实例是使用字典dict来实现的。 前面介绍私有化属性时已经简单用到过__dict__这个属性可以通过实例的__dict__ 属性访问实例底层的字典。这个字典包含的数据对每个实例而言都是唯一的。可以在任何时候向实例添加新属性。也是通过__dict__。 对实例的修改始终会反映到局部__dict__ 属性中。同样如果直接对__dict__ 进行修改所做的修改也会反映在实例的属性中。 通过代码来验证这个结论 class DaGongRen:def __init__(self, name, age, salary):self.name nameself.age ageself.__salary salarydef get_salary(self):return self.__salaryif __name__ __main__:dgr DaGongRen(张三, 18, 100)# 从__dict__中可以看到实例所有的属性包括混淆名称后的私有属性print(dgr.__dict__)# 通过obj.attr的方式修改属性dgr.age 20# 再次查看__dict__age对应的value同步变更print(dgr.__dict__)# 通过__dict__直接修改value值dgr.__dict__[name] 李四# 实例的属性同步发生变更print(dgr.name)# 私有属性也一样dgr.__dict__[_DaGongRen__salary] 9999print(dgr.get_salary())执行结果 类对象的__dict__属性 其实类本身也只是对字典的浅层包装我们可以在实例的__dict__ 属性中找到这个字典。 直接看代码 from rich.pretty import pprintclass DaGongRen:这里是说明文档会存储在__doc__属性中cnt 0def __init__(self, name, age, salary):self.name nameself.age ageself.__salary salaryself.__class__.cnt 1def get_salary(self):return self.__salaryclassmethoddef test_class_method(cls):print(cls)staticmethoddef test_static_method():print(test)if __name__ __main__:# 查看类对象的__dict__pprint(DaGongRen.__dict__)dgr DaGongRen(张三, 18, 100)# 通过类对象的__dict__调用get_salary()方法由于是通过类对象调用第一个参数self需要手动传递print(DaGongRen.__dict__[get_salary](dgr))# 调用类方法DaGongRen.__dict__[test_class_method].__func__(DaGongRen)# 调用静态方法DaGongRen.__dict__[test_static_method].__func__()执行结果 从执行结果中可以看出类对象也是有__dict__属性的存储的是在类中定义的实例方法、类方法和静态方法以及类属性等。 总结 通过对比实例对象的__dict__和类对象的__dict__相关代码的示例可以得出如下结论 1、对象底层是对dict做了一层弱封装不管是实例对象还是类对象。 2、类中定义的类属性属于类存储在类对象的__dict__属性对应的字典中类的__init__初始化方法或者实例对象中动态添加的属性属于实例对象存储在实例对象的__dict__属性对应的字典中。 3、类中定义的方法不管是实例方法、类方法还是静态方法都属于类统一存储在类对象的__dict__属性对应的字典中。 4、实例方法其实就是普通的函数对象类方法和静态方法分别对函数对象做了一层对应的封装。 通过这篇文章我们应该能够对类、实例的存储有了更进一步的理解。 但是还有一个问题。既然Python中一切皆对象对象底层又是对dict的封装那么问题来了为什么有些内置类型的对象没有__dict__属性或者无法在__dict__属性中找到类中定义的实例属性 这个问题涉及到对象内存的管理与优化我们放到下一篇文章中来回答。 感谢您的拨冗阅读如果对您学习Python有所帮助欢迎点赞、收藏。
http://www.w-s-a.com/news/806445/

相关文章:

  • 制作网站用c#做前台网站建设专题的意义
  • 广西建设职业技术学院教育网站牡丹区建设局网站
  • 网站后台怎么用ftp打开上海外贸进出口有限公司
  • 淘宝建设网站的意义大学生做那个视频网站
  • 如何提高你的网站的粘性建设银行流水网站
  • 微信h5在哪个网站做泰州专业网站制作公司
  • 现在.net做网站的多吗建设工程造价网
  • pc访问手机网站跳转违法网站开发人员
  • 网站前端做报名框wordpress 启动慢
  • 沈阳做网站客户多吗前端可以做网站吗
  • 网站设计规划书新媒体营销策略分析
  • dw个人网站主页怎么做天津工程信息建设网
  • 顺义做网站的公司网站页面设计基础教程
  • 安阳哪个公司做网站好企业没有做网站有的坏处
  • 网站开发有必要用php框架wordpress分页导航代码
  • wordpress建站seo鞍山制作网站哪家好
  • 网站空间流量查询上海门户网站制作
  • 网站开发技术是什么专业会的加强普法网站和普法网络集群建设
  • 上海建筑网站seo 推广
  • 乌兰察布做网站公司爱站网关键词挖掘工具站长工具
  • 白银网站建设白银申请网站空间怎么做
  • 免费炫酷网站模板网站建设需要用到什么软件有哪些
  • 电商网站开发 文献综述大型网站建设企业
  • 如何在建设部网站补录项目单仁牛商
  • 社保网站上做减员一直不审核软件程序开发
  • 网站友情链接购买天元建设集团有限公司资质
  • 南山商城网站建设哪家技术好株洲seo网站优化软件
  • 服务类网站建设18款禁用网站app直播
  • 电子商务网站建设需要物流网站开发公司
  • 网站的系统建设方式有哪些内容宁波网站建设公司