I want to see all the variables
Rene Fleschenberg
rene at korteklippe.de
Sat Dec 30 21:39:52 EST 2006
johnf wrote:
> Very detailed. But I was attempting to debug some code which subclassed
> other code. I got a traceback that something like "no
> mySubClass.__source.query() did not exist".
By (strong) convention, "__" means "not to be accessed from outside the
class, not even from subclasses". The author of the original class does
not want you to access that attribute.
> The superclass had something
> like "myClass.__source.query(sql)" which worked
> but "mySubClass.__source.query(sql)" did not work. So I tried to debug
> using "dir(myClass.__source)" and got an error.
"dir(myClass._myClass__source)" should work, as should
"dir(mySubClass._myClass__source)" and "mySubClass._myClass__source".
But remember that it is usually really bad style to do this and that
there is probably a reason why the author of myClass does not want you
to do that. If myClass was written by yourself, simply do not use "__".
Only use "__" when you really know why you are doing it. Otherwise, just
use "_".
See also: http://docs.python.org/ref/atom-identifiers.html
> And I also got error when
> I "dir(mySubClass.__source". So how could I have debugged the problem if
> dir() will not display information on the __source? I hope that explains
> my issue.
A simple dir() on myClass could have given you a hint on what happens
with __source.
--
René
OpenPGP key id: 0x63B1F5DB
JID: rene.fleschenberg at jabber.ccc.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/python-list/attachments/20061231/a886270d/attachment.sig>
More information about the Python-list
mailing list