It is clear to me that Python is a multiparadigmed object oriented language. It is clearly possible to write procedural code... that is, Python does not force object oriented syntax or concepts on you and insist you define everything in such a structure. Is the OO it allows full OO, I think so, and the only way to argue otherwise I think is to point out that the "main" function is just the module level itself, and is not part of an object... which is just the sort of pedantic things purists like to hang their hat on.
personally I am very much the sort that believe in "trust the programmer" and likes languages that provide a freedom to use various complementary paradigms, in the style of C++. Compared to that, it's clear that Python is quite object oriented even in the sense of drawing you to build things in object oriented ways... just not strictly requiring it. Which is good, it allows some interesting patterns which play quite well with object oriented desirgn (i.e. module as singleton)... in fact, that plays so well as a singleton, some would say the module is just an object anyway, and indeed, the intepreter tends to agree. So python may turn out to be pure OO, where Objects SIMULATE procedural programming paradigms and allow that paradigm as a result, on top of OO. cheers. -- http://mail.python.org/mailman/listinfo/python-list