[Tutor] list of references to object properties
Jose Amoreira
ljmamoreira at gmail.com
Sat Jan 19 16:47:16 CET 2013
Thanks for the explanation, Alan
>
> Is there a good reason to want to do such a thing?
There is a reason, but maybe you won't consider it a good one...
I was writing a small program to simulate the gravitational dynamics of a
system of many planets, using scipy's odeint to solve the equations of motion.
I defined a class, CelestialBody, that describes objects that represent
planets in my simulation. These objects have three attributes: position,
velocity and mass (the first two are 3D-vectors; as such, the number of
attributes is actually 7). The many-body system is represented in the
simulation by a list of CelestialBody objects.
The dynamical state of the system is represented by a 6N (N being the number
of planets) component array storing the components of the position and linear
momentum of each body, and the integration procedures (odeint in this case)
usually take this array as argument.
So, in my simulation code I have a list of planets (objects of class
CelestialBody) because it is a natural way of representing the systems I want
to simulate, and another list (an numpy.array, actually) storing the positions
and momenta of each planet, needed for the numerical processing of the
simulation. But the positions and momenta are already present in the planet
list, since the objects themselves store that information. Then, the second
list, even if necessary, is a duplication of things that already are defined
in the code. I don't like it. It'd be better (no duplication) if it was just a
list of references to the values stored in the planet objects, I think.
But I see your point.
Thanks again,
Jose Amoreira
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20130119/263953dc/attachment.html>
More information about the Tutor
mailing list