python中__slots__用法实例

yipeiwu_com6年前Python基础

本文实例讲述了python中__slots__的用法。分享给大家供大家参考。具体分析如下:

定义__slots__ 后,可以再实例上分配的属性名称将被限制为指定的名称。否则将引发AttributeError,这种限制可以阻止其他人向现有的实例添加新的属性.
 
使用__slots__的类的实例不在使用字典来存储数据。相反,会使用基于数组的更加紧凑的数据结构。

在会创建大量对象的程序中,使用__slots__可以显著减少内存占用和使用时间

class Account(object):
  __slots__ = ('name' ,'balance')
class Test(object):
  def __init__(self ,name):
    self.name = name

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python Popen 获取输出,等待运行完成示例

我就废话不多说了,直接上代码吧! import subprocess def excuteCommand(com): ex = subprocess.Popen(com, std...

解决python 自动安装缺少模块的问题

场景 我写个脚本给别人用,但是这个脚本中包含了一个第三方库。 当然对方执行的时候就会提示缺少,能否让python自动安装呢? 解决 try: import requests exc...

python程序控制NAO机器人行走

最近重新学习nao的官方文档,写点简单的程序回顾一下。主要是用python调用api,写下来保存着。 '''Walk:small example to make nao walk''...

从零学python系列之浅谈pickle模块封装和拆封数据对象的方法

封装是一个将Python数据对象转化为字节流的过程,拆封是封装的逆操作,将字节文件或字节对象中的字节流转化为Python数据对象,不要从不收信任的数据源中拆封数据。可以封装和拆封几乎任何...

Python unittest模块用法实例分析

本文实例讲述了Python unittest模块用法。分享给大家供大家参考,具体如下: python的unittest模块提供了一个测试框架,只要我们写一个继承unittest.Test...