Donn Ingle <[EMAIL PROTECTED]> 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' -- http://mail.python.org/mailman/listinfo/python-list