Небольшой отрывок из http://www.python.org/doc/essays/comparisons.html должен ответить на ваш вопрос. Короткий ответ в первом предложении;)
«Обычно программы Python работают медленнее, чем Java-программы, но они также занимают гораздо меньше времени для разработки. Программы на Python обычно в 3-5 раз короче, чем эквивалентные Java-программам.Это различие можно отнести к встроенным высокоуровневым типам данных Python и их динамическому типированию. Например, программист на Python не тратит время на объявление типов аргументов или переменных и мощных полиморфных списков и типов словарей Python, для которых мощная синтаксическая поддержка встроена прямо в язык, находит применение почти в каждой программе Python. Из-за типизации времени выполнения Python должно работать больше, чем Java. Например, при оценке выражения a + b это необходимо сначала проверить объекты a и b, чтобы узнать их тип, который неизвестен во время компиляции, а затем вызывает соответствующую операцию добавления, которая может быть перегруженным пользователем способом. С другой стороны, Java может выполнять effic ient integer или с плавающей запятой, но требует объявления переменных для a и b и не допускает перегрузки оператора + для экземпляров пользовательских классов. По этим причинам Python намного лучше подходит как «клей», а Java лучше характеризуется как язык невысокого уровня. Фактически, эти два вместе отлично сочетаются. Компоненты могут быть разработаны на Java и объединены для создания приложений на Python; Python также может использоваться для прототипов компонентов до тех пор, пока их дизайн не будет «затвердевшим» в реализации Java. Для поддержки такого типа разработки в настоящее время разрабатывается реализация Python, написанная на Java, которая позволяет вызывать код Python с Java и наоборот. В этой реализации исходный код Python транслируется в байт-код Java (с помощью библиотеки времени выполнения для поддержки динамической семантики Python).