By typing in 'object' in a class declaration (see below) we create a new style class. (In Python 2.5 default classes are old-style objects). My use for new-style classes was the __slots__ feature. Python normally uses a dictionary __dict__ to store the available attributes of a class. Therefore an object's footprint in memory is the memory required to store the attributes plus memory for the lookup dictionary. In a new-style class we can instruct Python to not use the dictionary, and reserve slots for attributes in the declaration. This reduces memory use by getting rid of __dict__, and is useful if you have large numbers of a class.
class Synapse(object):"""This stores the parameter data for the synapses as well as routines for file I/O of the parameters"""__slots__ = ('id','sourceneuron','g_max','E','alpha','beta','T_max','t_pulse')def __init__(self):self.id = 'A_synapse'self.sourceneuron = 0 #dummyself.g_max = 5self.E = 2 # -0.33 for inhibitionself.alpha = 2.self.beta = 1.self.T_max = 1.self.t_pulse = 1. #for how long does the synaptic drive increase
Comments
Post a Comment