Python Script

Amimo Benja amimobenja08 at gmail.com
Fri Dec 13 07:26:52 CET 2013


On Thursday, December 12, 2013 9:59:26 PM UTC+3, MRAB wrote:
> 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.

Thanks MRAB... I appreciate...



More information about the Python-list mailing list