Carl Banks escreveu: > Steve Holden wrote: > > In fact most Python doesn't use such constructs, though I'll admit the > > occasional __init__ is more or less inevitable once you start using the > > object-oriented features more than casually. > > Occasional? I don't know about you, but I use __init__ in 99% of the > classes I define. :) I don't think __special_symbols__ are manifestly > unsuitable for newbies--they're just special. > > I was curious how much I used these symbols. For my current largish > project: > > 306 __init__ > 68 __future__ > 44 __dict__ > 3 __name__ > 3 __main__ > 3 __import__ > 3 __builtin__ > 2 __str__ > 2 __file__ > 1 __setitem__ > 1 __setattr__ > 1 __repr__ > 1 __or__ > 1 __ne__ > 1 __int__ > 1 __getitem__ > 1 __getattribute__ > 1 __eq__ > 1 __call__ > 1 __add__ > > Excepting my use of __dict__, not a whole lot advanced usage there, and > I am NOT the kind of person who's afraid to do advanced things when > it's useful. Much of the advanced stuff, including __dict__, is for > debugging. (I have a lot of classes that acquire resources that I must > explicity release, so I clear the __dict__ to catch any post-release > accesses, which could cause subtle failures otherwise.) > > > Carl Banks
Well, I *hate* underscores with a passion. So it is kinda frustrating that I *have* to say "__init__". The fact that the coding conventions for Python suggest things such as methods_called_this_or_that do not help. Everything else seems fine, since if there's voodoo involved, it had best be sticking out from the text in big, bloody, blinking, red letters. I know, there's noone preventing me from doing otherwise (except for that blasted __init__). I'd like to follow the pack here, tho. Stephen -- http://mail.python.org/mailman/listinfo/python-list