首页 > 代码库 > 对象
对象
1. python创建实例后,实例将由引用计数来管理,如果引用计数达到0,实例将被销毁,实例被销毁时,解释器会调用与对象相关联的__del__()方法。使用del语句可以删除对象引用,但是del语句通常不会直接调用__del()__方法。
2. 特殊变量__slots__
通过定义特殊变量__slots__类可以限制对合法实例属性名称的设置。定义__slots__后,能在实例上分配的属性名被限制在给定的范围内。否则将引发AttributeError异常。这种限制可以阻止其他人向实例添加不合法的属性,或则防止用户拼写错误。 使用__slots__实际上是对内存和执行速度的一种优化。使用__slots__的类的实例不再使用字典存储实例数据,相反使用更加紧凑的数据结构。 __slots__与继承的配合使用需要一定的技巧。如果类继承自使用__slots__的基类,那么他也应定义自己的__slots__(即使它不添加任何属性),如果忘记这点,派生类的运行速度将更慢。 此外,没有必要向__slots__添加方法或特性名称,因为他们存储在类中,而不是实例中。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。