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

吴忠市建设工程质量监督站网站网页版微信登录提示二维码已失效

吴忠市建设工程质量监督站网站,网页版微信登录提示二维码已失效,a站为什么会凉,网络营销与策划接上文#xff0c;再介绍最后几个常用的魔法方法。 关于__dict__: 先上个例子#xff1a; class Test(object):fly Truedef __init__(self, age):self.age age __dict__魔法方法可以被称为系统#xff0c;他是存储各分层属性的魔法方法。__dict__中#xff0c;键为属性名…接上文再介绍最后几个常用的魔法方法。   关于__dict__: 先上个例子 class Test(object):fly Truedef __init__(self, age):self.age age   __dict__魔法方法可以被称为系统他是存储各分层属性的魔法方法。__dict__中键为属性名值为属性本身。可以这样理解在平时我们给类和实例定义的那些属性都会被存储到__dict__方法中用于读取。而我们平时使用的类似这样的语法Test.fly 其实就是调用了类属性同样可以写成Test.__dict__[fly]。除了类属性还有实例属性。当我们用类实例化一个实例例如上文我们使用p Test(2)实例化类Test,p也会具有__dict__属性。这里会输出   {age: 2}   由上可以发现python中的属性是进行分层定义的。/object/Test/p这样一层一层下来的。当我们需要调用某个属性的时候python会一层一层往上面遍历上去。先从实例然后实例的__class__的__dict__,然后是该类的__base__。这样__dict__一路找上去。如果最后都没有找到就抛出AttributeError错误。 这里可以延伸一下没记错的话我前面有篇文章讲了一个方法__slot__。__slots__方法就是通过限制__dict__只让类实例初始化__slots__里面定义的属性而且让实例不再拥有__dict__方法来达到节约内存的目的。我将会就上面的那个例子重写一下来说明这个问题。   class Test(object):__slots__ [age]fly Truedef __init__(self, age):self.age age   output In [25]: Test.__dict__ Out[25]: dict_proxy({__doc__: None,__init__: function __main__.__init__,__module__: __main__,__slots__: [age],age: member age of Test objects,fly: True})In [36]: p.__dict__ --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) ipython-input-36-3a1cec47d020 in module() ---- 1 p.__dict__AttributeError: Test object has no attribute __dict__In [37]: p.age Out[37]: 3In [38]: p.fly Out[38]: True 可以看到__slots__方法并没有阻止由下至上的属性查找方法只是不会再允许没有包含在__slots__数组中的属性再被赋值给实例了。但这并不妨碍继续调用允许访问的属性以及类属性。   关于__get__, __set__, __del__: 在前面的文章里面我也介绍过这三个魔法方法虽然一般是用不到的但是在写库的时候它们有特别的用途。他们是python另外一个协议descriptor的根基。 同一个对象的不同属性之间可能存在依赖关系。当某个属性被修改时我们希望依赖于该属性的其他属性也同时变化。在这种环境下面__dict__方法就无法办到。因为__dict__方法只能用来存储静态属性。python提供了多种即时生成属性的方法。其中一种就是property。property是特殊的属性。比如我们为上面的例子增加一个property特性使得他能够动态变化。来看这个例子 class Test(object):fly Truedef __init__(self, age):self.age agedef whether_fly(self):if self.age 30:return Trueelse:return Falsedef just_try_try(self, other):passwhether_fly property(whether_fly)p Test(20) print p.age print p.whether_fly p.age 40 print p.age print p.whether_fly output: 20 True 40 False 可以看到 我们可以使用这种手段动态修改属性值。property有四个参数。前三个参数为函数分别用于处理查询特性、修改特性、删除特性。最后一个参数为特性的文档可以为一个字符串起说明作用。这里我只是要到了第一个参数查询的时候动态修改他的返回值而第二个参数是在修改值的时候就会体现出来。   Reference: http://www.cnblogs.com/vamei/archive/2012/12/11/2772448.html  转载于:https://www.cnblogs.com/piperck/p/6362203.html
http://www.yutouwan.com/news/281024/

相关文章:

  • 为什么菜市场不可以做网站山东住房建设部官方网站
  • 如何选技能网站建设济南成之运维网络科技
  • 创建游戏网站wordpress评论输入框
  • 网站制作 南宁带有flash的网站
  • 罗源做网站的公司建个人网站怎么赚钱
  • 番号网站怎么做seox
  • 网站建设项目进展情况汇报网页版传奇哪个最好玩
  • 深圳外贸网站建设公司南宁网络推广工作
  • 北京做公司网站建网站策划方案
  • wordpress建站要用模板吗毕节网站建设
  • 网站变灰 兼容经营管理系统
  • 仿做唯品会网站网站建设攸县
  • 搜狗站长推送工具专业网站开发
  • led视频网站建设湖南酒店网站建设
  • wamp环境下做网站邢台网站制作平台
  • 深圳制作网站的公司简介搜索引擎seo关键词优化方法
  • 宁波网站排名优化报价泉州网站建设优化
  • 网站线框图用什么做wordpress自定义结构空白页
  • 保定市网站销售和设计淮安维度网站建设
  • 济宁网站建设500元中关村在线app
  • 中国十大摄影网站排名河北网站制作公司
  • 建立网站服务器怎么弄wordpress seo.php
  • 如何联系网站网站设计制作的服务机构
  • wordpress设置更改快照首页排名优化服务
  • 分析影响网站排名的因素柳北网站制作
  • 网站备案更名厦门网络公司的网络平台
  • 哪里可以做网站教程企业管理培训课程推广
  • 百度做网站推广电话wordpress怎么设置静态主页
  • wordpress做教育网站百度权重划分等级
  • 地区电商网站系统wordpress老版本下载