Formateador de código Black
Si llevas un tiempo programando en Python supongo que conocerás el PEP8, que es una guía de estilo para la escritura de código en Python, Black
Pues hoy traigo un formateador de código Python que sigue el PEP8
de manera que tus códigos sean más legibles y mantenibles tanto por otros como por tu yo del futuro
Instalación
Para instalarlo podemos instalarlo con conda
conda install conda-forge::black
o con pip
pip install black
Código de ejemplo
Voy a crear un archivo llamado sample_code.py
con el siguiente código
class myClass:
def display_info(self, name, subname, age, description, address, city, zip_code, country, phone, email, license, departament):
return f"Name : {name}, Subname : {subname}, Age : {age}, Description : {description}, Address : {address}, City : {city}, Zip Code : {zip_code}, Country : {country}, Phone : {phone}, Email : {email}, License : {license}, Departament : {departament}"
def add_numbers(num1,
num2):
return num1 + num2
text = "This is some text"
letters = (
"alpha",
"beta",
"gamma",
"delta",
"epsilon",
"zeta",
"eta",
"theta",
"iota",
"kappa",
)
Como vemos tiene las dos primeras líneas muy largas, la declaración del segundo método en varias líneas, etc
Formatear el código
Para formatear el código tenemos dos opciones, hacer
black {source_file_or_directory}
o hacer
python -m black {source_file_or_directory}
Así que vamos a formatearlo
!black sample_code.py
reformatted sample_code.pyAll done! ✨ 🍰 ✨1 file reformatted.
Después de formatearlo el código ha quedado así
class myClass:
def display_info(
self,
name,
subname,
age,
description,
address,
city,
zip_code,
country,
phone,
email,
license,
departament,
):
return f"Name : {name}, Subname : {subname}, Age : {age}, Description : {description}, Address : {address}, City : {city}, Zip Code : {zip_code}, Country : {country}, Phone : {phone}, Email : {email}, License : {license}, Departament : {departament}"
def add_numbers(num1, num2):
return num1 + num2
text = "This is some text"
letters = (
"alpha",
"beta",
"gamma",
"delta",
epsilon
"zeta",
"eta",
"theta",
"iota",
"kappa",
)
Mucho mejor, ¿verdad?