I should have worded myself better. It isn't that Python isn't OO, its that python doesn't feel OO.

Python is multiparadigm, which means that it actually brings more to the table than Ruby. The average Java programmer could probably benefit from learning Python much more than Ruby because it will teach them more.

And that is the problem. So few programmers want to learn new stuff.

If they are building a class, they'll follow the path they've always followed:

"I'll start with the private members. How do I declare a private member in Python. What, no encapsulation! I need an OO language!"

Obviously they're wrong, but it doesn't take much to take a programmer out of their comfort zone.

With Ruby they get to follow the familiar path, declaring Java like objects in Ruby the same way they that C programmers were once able to write C like code when they started using Java.