I have found it very useful when writing unit tests for a particular method. I don't have to instantiate the class for which the method is a member of; instead I can easily pass a mock object as self that only contains the properties the method is supposed to test.<p>Furthermore the claim that python doesn't support objects cleanly or easily is unfounded: 1) everything is an object in python (<a href="http://diveintopython.org/getting_to_know_python/everything_is_an_object.html" rel="nofollow">http://diveintopython.org/getting_to_know_python/everything_...</a>), including classes. 2) properties of an object are accessed in just the same way as in Java (obj.property), I don't understand where the confusion lies.