[Tutor] Creating class instances through iteration
denis.spir at gmail.com
Fri Apr 16 05:14:31 CEST 2010
On Thu, 15 Apr 2010 21:03:52 -0500
Tim Goddard <timgoddardsemail at gmail.com> wrote:
> I came across a situation where what I thought I wanted to do was to create
> a class that was spawned from data in a .csv file. Where column 1 was the
> name I wanted to use for each instance. I had it all figured out and
> working except for how to write a statement where the left hand side could
> be a changing identifier.
> All I could figure out was how to create the same instance 50 times albeit
> in different ways.
> For example each row would look like [name, value1, value2, value3], I
> planned on passing the three values as a tuple
> The code would simply be:
> for row in csvimport:
> tuple = (row,row,row)
> instancename = Classname(tuple)
> How could I create different instances inside an iteration loop for each row
If I understand you properly, what you're trying to reinvent is a dict. For each row, use the name (which is data, too, right?) as key and the tuple oe whatever structure you like as value.
thing[name] = tuple
An alternative, if you really want the names to be real var names, is to put all of that into an object as attributes, using the builtin func setattr:
setattr(thing, name, tuple)
> Is it possible to change the name through modification of self attribute
> (wait is self an attribute?)
Don't understand why you want a class here.
> Are cats sleeping with dogs here or what?
vit esse estrany ☣
More information about the Tutor