Oi, aventureiro!

~ Pegue sua bebida e siga em frente ~

Python: anti-patterns que você talvez não conheça
Introdução Há muitos anti-patterns que podem ser óbvios durante uma revisão de código, outros, podem ser bastante contra intuitivos, por transpaçarem comportamentos internos da linguagem. Este artigo é fortemente baseado na sessão “Programming Recomendations” da PEP8 e no e-book gratuito “The Little Book of Python Anti-Patterns”, com pequenas adições pessoais na descrição de cada tópico. 😄 Anti patterns Comparações com o operador de igualdade == Para True ou False Quando escrevemos condições booleanas como: if condition == True: Queremos dizer: “se esta condição é verdadeira, faça isto”. Em um contexto de operações booleanas, o Python já interpreta valores não vazios como True, o que torna a comparação acima bastante redundante se condition for uma variável. No caso abaixo: condition = 'algum valor qualquer' if condition: # esse contexto será executado. A variável condition será avaliada como True e executará o bloco do if, mesmo condition sendo uma string e não um booleano. Internamente, o Python chama o método mágico __bool__() do objeto que efetuará a lógica por trás da avaliação sobre qual valor booleano aquele objeto assumirá, veja todos os métodos mágicos disponíveis aqui. Em casos bastante específicos onde há a necessidade de comparação explícita, prefira o pattern proposto na PEP8: if condition is True, ambos os formatos são para a redução de redundâncias e incrementos de legibilidade, tudo acima também se aplica para comparações com False.......