python at mrabarnett.plus.com
Thu Dec 12 19:59:26 CET 2013
On 12/12/2013 18:05, Amimo Benja wrote:
> I have an issue with a Python script that I will show as follows:
> Assume that you have three (well defined) classes: AirBase and VmNet,
> . VmNet has got a method that is called recursively each time an HTTP
> response is received. The variable recordTuple needs to be built
> independently for each instance of VmNet that is created. However,
> the mentioned variable is being overwritten across every instance, so
> if you try to get it from vmnet_instance_y, you would get exactly the
> same than retrieving it from vmnet_instance_x.
> • What is the code issue? I need to use this script in a project and
> I don't know how to proceed.
> Actually, the script aims to follow the principle don't repeat
> yourself (DRY). As you may notice, VmNet and AirBase does not have
> def __init__(self), so self.recordTupleBase does not probably exist.
> Additionally, many other subclasses, similar to VmNet, can implement
> the recursive method using that recordTupleBase.
> * I will gladly appreciate any help thanks....
recordTuple = AirBase.recordTupleBase
makes recordTuple refer to the same object as AirBase.recordTupleBase
and AirBase.recordTupleBase is an attribute of the class AirBase itself.
You're re-using the same object. That's why it's being overwritten.
More information about the Python-list