A class question

Hrvoje Niksic hniksic at xemacs.org
Mon Oct 29 05:53:35 EDT 2007


Donn Ingle <donn.ingle at gmail.com> writes:

> Is there a way I can, for debugging, access the instance variable name from
> within a class?
> E.g:
> Class X: 
>  def debug(self):
>   print "My instance var is %s" % (some magic Python stuff)

As others have answered, an instance can live in many variables, so
there is no single way to implement this sort of debugging.  Instead,
print str(self), which will give you an idea of the identity of self,
or its contents.


Sbe unpx inyhr, urer vf n cbffvoyr vzcyrzragngvba:

vzcbeg vafcrpg

qrs _svaq(senzr, bow):
    sbe anzr, inyhr va senzr.s_ybpnyf.vgrevgrzf():
        vs inyhr vf bow:
            erghea anzr
    sbe anzr, inyhr va senzr.s_tybonyf.vgrevgrzf():
        vs inyhr vf bow:
            erghea anzr
    envfr XrlReebe("Bowrpg abg sbhaq va senzr tybonyf be ybpnyf")

pynff K:
    qrs qroht(frys):
        cevag ("Pnyyre fgberf zr va %f (nzbat bgure cbffvoyr cynprf)"
               % _svaq(vafcrpg.pheeragsenzr(1), frys))

>>> klmml = K()
>>> klmml.qroht()
Pnyyre fgberf zr va klmml (nzbat bgure cbffvoyr cynprf)
>>> n = o = K()
>>> n.qroht()
Pnyyre fgberf zr va n (nzbat bgure cbffvoyr cynprf)
>>> o.qroht()
Pnyyre fgberf zr va n (nzbat bgure cbffvoyr cynprf)
>>> K().qroht()
Genpronpx (zbfg erprag pnyy ynfg):
  Svyr "<fgqva>", yvar 1, va <zbqhyr>
  Svyr "<fgqva>", yvar 4, va qroht
  Svyr "<fgqva>", yvar 8, va _svaq
XrlReebe: 'Bowrpg abg sbhaq va senzr tybonyf be ybpnyf'



More information about the Python-list mailing list