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.
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to