2010/11/24 Raymond Hettinger <pyt...@rcn.com>: > I'm writing-up more guidance on how to use super() and would like to > point at some real-world Python examples of cooperative multiple > inheritance. > > Google searches take me to old papers for C++ and Eiffel, but that > don't seem to be relevant to most Python programmers (i.e. a > WalkingMenu example where a submenu is both a Entry in a Menu and a > Menu itself). Another published example is in a graphic library where > some widgets inherit GraphicalFeature methods such as location, size > and NestingGroupingFeatures such as finding parents, siblings, and > children. I don't find either of those examples compelling because > there is no particular reason that they would have to have overlapping > method names. > > So far, the only situation I can find where method names necessarily > overlap is for the basics like __init__(), close(), flush(), and > save() where multiple parents need to have their own initialization > and finalization. > > If you guys know of good examples, I would appreciate a link or a > recap. > > Thanks, > > > Raymond > > -- > http://mail.python.org/mailman/listinfo/python-list >
In pyftpdlib I used multiple inheritance to implement FTP over SSL: http://code.google.com/p/pyftpdlib/source/browse/tags/release-0.5.2/demo/tls_ftpd.py#125 I can't say it's been natural/intuitive though, and it took me a while to make it work properly. super() is one of the few things in Python I really don't understand properly. --- Giampaolo http://code.google.com/p/pyftpdlib/ http://code.google.com/p/psutil/ -- http://mail.python.org/mailman/listinfo/python-list