Python's OO does support features like multiple inheritance, which makes it more sophisticated than e.g. Java.
Java forbidden multiple inheritance because of the function overriding or diamond problem.
Also Python OO has a lot to improve.
Java forbidden multiple inheritance because of the function overriding or diamond problem.
Also Python OO has a lot to improve.
There are generations of Java programmers who have decided that because Java doesn't have multiple inheritance, it must be bad.
People mostly use frameworks these days, so inheriting from the framework uses up our one opportunity to have inheritance. Then when we would like to use it later to consolidate common code, we can't. Or we use ActiveRecord, but then can't actually, god forbid, model our domain using an inheritance hierarchy.
At this point, I think OO has failed to live up to its promise, and I instead use functional programming and macros.