At 04:11 PM 7/14/2009 -0500, Benjamin Peterson wrote: >4. When __init__() is overridden, and the subclass __init__() >calls object.__init__(), the latter should complain about >excess arguments; ditto for __new__(). Actually, this rule is a PITA, because there's no good way to get rid of the warnings when you're trying to write MRO-agnostic mixins. In other words, it negates many of the gains that were obtained by having new-style MROs, since you can no-longer write pass-through constructors that leave their arguments untouched. Instead, every class must know ahead of time whether it will be the "last" class before 'object' -- thereby making it impossible to slip other mixins into the chain below them. In effect, 2.6 forces you to have a common known base class *other* than 'object' in order to write co-operative classes. :-(
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4