In article <4bd2e20...@dnews.tpgi.com.au>, Lie Ryan <lie.1...@gmail.com> wrote: >On 04/24/10 06:07, Aahz wrote: >> In article <4bc120bd$0$8850$c3e8...@news.astraweb.com>, >> Steven D'Aprano <st...@remove-this-cybersource.com.au> wrote: >>> >>> I can only think of two circumstances where old-style classes are >>> *wrong*: if you use multiple inheritance with a diamond diagram ("...now >>> you have THREE problems" *wink*), if you intend using descriptors such as >>> properties, or if you need __slots__. That's three circumstances: >>> multiple inheritance with a diamond diagram, descriptors, __slots__, and >>> __getattribute__. Four circumstances. >>> >>> Any other time, they're merely discouraged, and gone in Python 3.x. >> >> Discouraged by some people. I certainly encourage the use of old-style >> classes unless there's a specific reason to use new-style classes. > >For what reason?
Because it's simpler and because it allows people to write code that works with 1.5.2+ if they want. Admittedly, few people want to go back that far, but lots of people are still using Python 2.2, and I prefer to avoid new-style classes with 2.2 because of the changes in 2.3. -- Aahz (a...@pythoncraft.com) <*> http://www.pythoncraft.com/ "It is easier to optimize correct code than to correct optimized code." --Bill Harlan -- http://mail.python.org/mailman/listinfo/python-list