ricoyan
12/25/2018 - 2:22 AM

[slots使用]节省内存优化措施

[slots使用]节省内存优化措施

class DataItem(object):
   __slots__ = ['name', 'age', 'address'] # 指定自身属性
   def __init__(self, name, age, address):
       self.name = name
       self.age = age
       self.address = address

 # 会影响dict方法 激活slots会禁止创建其他所有元素,包括dict
def toJSON(self): # 不起作用
       return json.dumps(self.__dict__)
def toJSON(self):
       data = dict()
       for var in self.__slots__:
           data[var] = getattr(self, var)
       return json.dumps(data)