Earlier quoted context omitted.
Other than interfaces and generics (which would make no sense to add in Python, since it's dynamically typed), can you name some OOP features Java has that Python doesn't have?
This may sound super n00b but I really like that Java is explicit about everything. So for instance, you explicitly specify variables, methods as private with the keyword 'private'. In python you have to use an underscore, and its still not really private, its obfuscated. That's just one example, but in general I really like that kind of by-the-book verbosity, instead of having to mentally map it into the OOP concept…
>>> class Foo:
def __fn(self):
return 2
>>> Foo().__fn()
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'Foo' object has no attribute '__fn'
>>> Foo()._Foo__fn()
2
A single underscore is more like 'protected', ie. it doesn't prevent subclasses from easily/accidentally overriding your function.