Python Script

MRAB 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:
> http://codepad.org/G8Z2ConI
>
> 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....
>
This line:

     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 mailing list