Leif K-Brooks wrote:
>sittner at lkb.ens.fr wrote:
>>>let's say i have a class, and i need to create a different number of
>>instances (changes every time - and i can't know the number in advance) in
>>a loop.
>>a function receives the number of instances that are needed, and creates
>>them like,
>>a=Myclass()
>>b=Myclass()
>>> def create_instances(n):
> return [Myclass() for i in xrange(n)]
Leif's point being you *don't* want to bind a different name to each of
a variable number of things - that way madness lies, as you end up
creating Python statements on the fly using eval() and exec and other
such dangerous and insanity-inducing tricks :-)
Instead use a container structure like a list to hold them, and then use
an appropriate technique to access them while they are still in the
container.
regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://holdenweb.blogspot.com
Recent Ramblings http://del.icio.us/steve.holden