Formatador de código Black
Aviso: Este post foi traduzido para o português usando um modelo de tradução automática. Por favor, me avise se encontrar algum erro.
Se você já programou em Python por um tempo, suponho que conheça o PEP8, que é um guia de estilo para a escrita de código em Python, Black
Pois hoje trago um formatador de código Python que segue o PEP8
de maneira que seus códigos sejam mais legíveis e manteníveis tanto por outros como pelo seu eu do futuro.
Instalação
Para instalá-lo podemos instalá-lo com conda
conda install conda-forge::black
o com pip
pip install black
Exemplo de código
Vou criar um arquivo chamado sample_code.py
com o seguinte 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, possui as duas primeiras linhas muito longas, a declaração do segundo método em várias linhas, etc.
Formatando o código
Para formatar o código temos duas opções, fazer
black {source_file_or_directory}
o fazer
python -m black {source_file_or_directory}
Assim, vamos formatá-lo
!black sample_code.py
reformatted sample_code.pyAll done! ✨ 🍰 ✨1 file reformatted.
Depois de formatá-lo, o código ficou assim
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",
)
Muito melhor, não é?