Gran parte de mi experiencia en programación está en Java, y todavía estoy haciendo la mayor parte de mi programación en Java. Sin embargo, estoy empezando a aprender Python para algunos proyectos paralelos en el trabajo, y me gustaría aprenderlo de forma independiente de mi fondo de Java, es decir, no quiero simplemente programar Java en Python. ¿Cuáles son algunas cosas que debería tener en cuenta?Como programador de Java aprendiendo Python, ¿qué debería buscar?
Un ejemplo rápido: al consultar el tutorial de Python, me encontré con el hecho de que los parámetros variables predeterminados de una función (como una lista) se conservan (se recuerda de llamada a llamada). Esto fue contra-intuitivo para mí como programador de Java y difícil de entender. (Consulte here y here si no entiende el ejemplo.)
Alguien también me proporcionó la lista this, que encontré útil, pero breve. Alguien tiene otros ejemplos de cómo un programador de Java podría tender a hacer mal uso de Python ...? ¿O cosas que un programador de Java asumiría falsamente o tendría problemas para entender?
Editar: Bien, una breve descripción de las razones abordadas por el artículo que he vinculado para evitar duplicados en las respuestas (como lo sugiere Bill the Lizard). (Por favor, avíseme si me equivoco al redactar, solo tengo solo iniciado con Python, por lo que es posible que no entienda todos los conceptos por completo. Y un descargo de responsabilidad: estos serán muy breves, así que si no entienden lo que se está haciendo a la salida del enlace.)
- un método estático en Java no se traduce a una pitón classmethod
- una sentencia switch en Java traduce en una tabla hash en Python
- No use XML
- Getters y setters son malvados (hey, soy j ust citando :))
- La duplicación de código es a menudo un mal necesario en Java (p. la sobrecarga de métodos), pero no en Python
(Y si encuentras esta cuestión en todos interesantes, consulte el enlace de todos modos. :) Es bastante bueno.)
Buena pregunta. El artículo al que se vinculó en el último párrafo es un muy buen comienzo. Puede considerar sacar un resumen (muy breve) de los puntos que figuran allí, solo para que las personas no dupliquen la misma lista en las respuestas. (Casi publiqué uno de los puntos en el artículo) –
@Bill the Lizard - actualizado, gracias por la sugerencia. Solo por curiosidad, ¿en qué punto iba a publicar? :) – froadie
Además, conviértalo en un Wiki de la comunidad. No hay "respuesta", solo muchos consejos. –