4 Answers
+ 1
java is statically typed so type checking is done during compile-time
python is dynamically typed so type checking is done during run-time
+ 1
Python is an easier language for novice programmers to learn. You will progress faster if you are learning Python as a first language than Java. However, the popularity of Java means that learning this powerful language is essential if you want your apps run everywhere.
+ 1
Python is a general purpose programming language created in the late 1980s, and named after Monty Python, that's used by thousands of people to do things from testing microchips at Intel, to powering Instagram, to building video games with the PyGame library.
0
Almost all languages can do the same things all the other languages can do. It's not a matter of what is can or can't do, it is a matter of how well it can do it.
When I choose Python:
File Handling
Prototyping
Fun
When I choose Java:
Mobile Apps
Desktop Software
It boils down to personal preference.