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 #dummy
self.g_max = 5
self.E = 2 # -0.33 for inhibition
self.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