Muy buenas, soy Luis y aquí les traigo otro artículo.
Índice
Escriba anotaciones, escriba sugerencias y más allá de la función `type ()`
Tabla de contenido
∘ Introducción.
∘ Introducción al módulo de tipos.
∘ Comprensión del sistema de tipos de Python.
∘ Conclusión.
Introducción
En tus primeros días de aprendizaje de Python, el chico del tutorial te introduce en la siempre existe print("Hello World!")
y eso es todo! La mayoría de la gente utiliza la print
función de esta manera para el resto de su viaje de codificación y nunca miran atrás para explorar otras características de la misma. Este artículo trata sobre otra de estas funciones type()
y una introducción al types
módulo incorporados, así como a los consejos sobre tipos en Python.
Todos sabemos cómo comprobar el tipo de objetos básicos incorporados en Python. Sin embargo, a veces, hay casos en los que no se puede comprobar el tipo de un objeto de forma tradicional como este:
Digamos que se trata de un objeto generador, que es una alternativa común a las listas de Python. ¿Cómo comprobamos su tipo? Seguramente, hacer esto no funcionará:
Introducción al types
módulo
Como todo, Python tiene su propio paquete para hacer precisamente eso. El módulo está integrado, por lo que no es necesario instalarlo. Si revisa su documentación , descubrirá que puede verificar casi cualquier tipo de objeto que se presente en Python .
Comprobemos finalmente nuestro objeto generador. Esta vez, en lugar de usar type()
function, isinstance()
usaré function, que es más Pythonic:
Al usar el módulo, también puede verificar las expresiones lambda, funciones y métodos de clase usando types.LambdaType, types.FunctionType, types.MethodType
expresiones respectivamente.
Comprender el sistema de tipos de Python
Todos los lenguajes de programación caen en uno de estos dos principales Sistemas de tipo. Nuestro querido Python usa escritura dinámica. En los lenguajes tipados dinámicamente, las variables pueden cambiar su tipo a medida que se desarrolla su script / programa y el intérprete del lenguaje realiza la verificación de tipo mientras se ejecuta el código.
En contraste con la dinámica, existe escritura estática. En lenguajes de programación como C o Java, la verificación solo se realiza cuando el código se compila.
Sí, los lenguajes dinámicos ofrecen más flexibilidad y más control sobre nuestro código. Pero hay casos en los que los programadores quieren que algunos de sus bloques de código sean estáticos. Si el alcance de su proyecto es pequeño y solo está escrito para usted, a menudo no tiene que preocuparse por las sugerencias de tipo.
Sin embargo, si escribe su script para que otros lo lean, o dice que está desarrollando un paquete para eventualmente subirlo a PyPi, la sugerencia de tipo puede aumentar enormemente la legibilidad de su código, así como hacerlo menos propenso a errores y fácil de depurar.
Exploremos un caso de uso:
Bien, cuando lo vi por primera vez, ese fue el código menos Pythonic que he visto.
En el encabezado de la función, str
y bool
después de los dos puntos especifican los tipos de argumentos que acepta la función. Si la función recibe objetos que no sean cadenas, genera AttributeError
o TypeError
dependiendo del objeto. Esto es particularmente útil porque a menudo usamos paquetes escritos por otras personas y no vemos el encabezado de la función directamente antes de llamarlos.
Los IDE modernos de hoy, por ejemplo, PyCharm ya tiene un verificador de tipo integrado que muestra advertencias útiles cuando escribe:
Utilizando ->
después de cerrar corchetes especifica el tipo de resultado. Establecer valores predeterminados también es fácil, simplemente coloque el signo igual después de la anotación de tipo (así es como se llaman) y listo.
Si lo ha notado, también es posible sugerir tipos de variables. Aunque es muy raro, ¡tener el conocimiento nunca está de más!
Conclusión
En este artículo, sólo hemos tocado los conceptos básicos de la comprobación de tipos. En resumen, la indicación de tipos tiene varias ventajas:
- Por medio de la indicación de tipo, se documenta el código. ¡¡No hay necesidad de escribir largas cadenas de documentación!!
- Las anotaciones tipográficas mejoran la legibilidad, mejoran los IDEs y los linters.
- Proporciona una arquitectura de código generalmente mejorada.
Sin embargo, la comprobación de tipos estática no es siempre la mejor. En primer lugar, puede tomar a los desarrolladores una cantidad considerable de tiempo para escribirlos. Además, si usas el módulo de tipos, puede tener un pequeño impacto en la velocidad de los proyectos pequeños.
Por último, aquí hay un código de plantilla para la indicación de tipos en las funciones:
Gracias por leer este artículo.
Añadir comentario