Por ejemplo si tú dices que x = 5 Python en tiempo de ejecución dice x es un int si dice x = “hola” es un string, con esto se pueden reutilizar variables sin tener que definirlas de nuevo
O en la herencia, Python dice, hace cuac (tiene una función cuac) anda como un pato (tiene funcion andar) pues es un pato y hereda de la clase pato, conocido como duck typing
Aprender en esto se aprende todos los días pero nunca se llega a dominar del todo, de todas maneras para cualquier duda que tengas estoy a tu disposición 🙋♂️
Al principio cuando trabajas en un proyecto pequeño no suele haber problemas, cuanto más crece el proyecto y más complejo se hace puede ser peligroso. Tienes que tener más cuidado de que te pasan por parámetro, ver de donde viene una variable etc. Se pierde un poco la ventaja del dinamismo.
Es cierto, aunque en la práctica no suele ser un problema. Los problemas son más bien escribir funciones de mierda y cosas así. La tipificación de datos es para discutir fuerte en foros y morir en tu colina favorita 😬
La idea es que eso también es buen incentivo para escribir tests en condiciones (mock es lo mejor que hay aunque sea un poco dolor saber dónde parchear a veces, https://foo.bar no es lo mismo que from bar import foo).
Mock también da facilidades a "copia la firma de este tipo y falla si te inventas atributos accediendo". Y Python moderno usa tipos (mypy etc), aunque está más calzado y va peor para hacer cosas de cierto tamaño.
Más que peligroso lo veo poco eficiente en determinadas circunstancias ya que tiene que tener en cuenta cualquier cosa que le pueda llegar. Por eso luego se necesitan cosas como NumPy. Yo personalmente prefiero el estilo de python porque es muy agradable de montar prototipos rápidos.
Puedes decirle al crear la lista que tipo va a ser, así es bastante eficiente (con dtype) o al menos es lo que he usado yo siempre, estoy abierto a mejores opciones siempre.
Una biblioteca para trabajar con listas/matrices de números sin usar las listas predefinidas de python. Si sigues con Python seguro que acabas usándola. Ánimo que es de los lenguajes más agradables de usar.
Comments
Java, te quiero🥲
Python es <3
Es muy cómodo para picar como una máquina, pero hay que diseñar con más cuidado y tal.