码迷,mamicode.com
首页 > 其他好文 > 详细

对象

时间:2014-04-30 21:40:17      阅读:441      评论:0      收藏:0      [点我收藏+]

标签:t   sp   管理   数据   python   使用   优化   而不是   数据结构   解释器   slot   

1. python创建实例后,实例将由引用计数来管理,如果引用计数达到0,实例将被销毁,实例被销毁时,解释器会调用与对象相关联的__del__()方法。使用del语句可以删除对象引用,但是del语句通常不会直接调用__del()__方法。

2. 特殊变量__slots__

通过定义特殊变量__slots__类可以限制对合法实例属性名称的设置。定义__slots__后,能在实例上分配的属性名被限制在给定的范围内。否则将引发AttributeError异常。这种限制可以阻止其他人向实例添加不合法的属性,或则防止用户拼写错误。  使用__slots__实际上是对内存和执行速度的一种优化。使用__slots__的类的实例不再使用字典存储实例数据,相反使用更加紧凑的数据结构。 __slots__与继承的配合使用需要一定的技巧。如果类继承自使用__slots__的基类,那么他也应定义自己的__slots__(即使它不添加任何属性),如果忘记这点,派生类的运行速度将更慢。 此外,没有必要向__slots__添加方法或特性名称,因为他们存储在类中,而不是实例中。

对象,布布扣,bubuko.com

对象

标签:t   sp   管理   数据   python   使用   优化   而不是   数据结构   解释器   slot   

原文地址:http://www.cnblogs.com/fly-xiang-zhao/p/3698937.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!