En este tutorial revisaremos PyLint, esto principalmente por que al escuchar la charla sobre Historias de Debug en Clase de Python Avanzado, de la PyCon 2020, se menciono PyLint para validar si el código escrito cumple ciertos estandares, como PEP8, y al utilizarla observo que es una herramienta bastante útil. PyLint es una herramienta de análisis de código estático para encontrar errores de codificación en su código Python.
¿Qué es Pylint?
Es una herramienta de análisis de código estático para identificar errores en el código Python, ayuda a los programadores a imponer un buen estilo de codificación. Esta herramienta les permite depurar código complejo con menos trabajo manual.
Es una de las herramientas que se utiliza para el desarrollo basado en pruebas (TDD). El estilo de codificación que Pylint aplica al código se conoce como PEP8.
Para obtener más información sobre PEP8, visite el enlace: Guía de estilo de PEP8 para Python.
Otros productos similares a Pylint son pyflakes, mypy, etc.
Es una herramienta imprescindible para todos los usuarios principiantes y avanzados, ya que escanea y califica programas con una puntuación de acuerdo con las reglas descritas en la Guía de estilo PEP8.
¿Cómo instalar Pylint?
Para instalarlo, se ejecuta el siguiente comando:
1 | pip install pylint |
Incluso puede integrar pylint en varios IDE (Entorno de desarrollo integrado) como Eclipse, Visual Studio Code, etc. Sin embargo, aquí nos centraremos en el uso de pylint sin utilizar la integración IDE.
El comando para usar pylint en un archivo de Python es:
1 | pylint filename.py |
Devuelve resultados que consisten en errores semánticos, errores de sintaxis, errores en el estilo de codificación, errores en el código, código excesivo y redundante, etc. También asigna una puntuación que indica si el código Python es ideal para usar y mantiene un historial de puntuaciones obtenidas al ejecutar un archivo de Python, así como después de cada edición.
En la siguiente sección, puede consultar programas de muestra que demuestran su uso.
Ejemplos de programas:
Para los ejemplos, utilizaremos el código escrito para el artículo sobre Actualización y Combinación de Diccionarios de Python 3.9, a continuación el ejemplo:
1 2 3 4 | pycon = {2016: "Portland", 2018: "Cleveland"} europython = {2017: "Rimini", 2018: "Edinburgh", 2019: "Basel"} print({**pycon, **europython}) |
Para ejecutar pylint tenemos:
1 | pylint pylint_sample.py |
Y se obtiene el siguiente resultado:
1 2 3 4 5 | ************* Module pylint_sample pylint_sample.py:1:0: C0114: Missing module docstring (missing-module-docstring) ----------------------------------- Your code has been rated at 6.67/10 |
Si hacemos un cambio en el código, la versión modificada se ve así:
1 2 3 4 5 6 7 8 | ''' code to update dicts ''' pycon = {2016: "Portland", 2018: "Cleveland"} europython = {2017: "Rimini", 2018: "Edinburgh", 2019: "Basel"} print({**pycon, **europython}) |
Luego volvemos a ejecutar el código y tenemos:
1 2 | -------------------------------------------------------------------- Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00) |
Así tenemos un mejor resultado.
Este artículo esta basado en Pylint usage in Python.