fbpx
Você sabe o que significa pythonico?

Seja você um iniciante ou um programador Python experiente, é possível que já tenha lido ou escutado a expressão “pythonico” (ou “pythônico” para alguns). Esse termo é a versão aportuguesada do original em inglês pythonic. Mas, afinal, o que significa pythonico? É o que vamos tentar explicar no artigo a seguir.

O que significa pythonico

Na verdade, é simples definir o que significa pythonico (pelo menos inicialmente). Esse termo se aplica a um código Python considerado “ideal”, que segue os 19 enunciados que formam o chamado Zen do Python, uma forma reduzida dos princípios que guiam a linguagem.

Criado por Tim Peters, um dos grandes colaboradores iniciais do Python, esse conjunto de aforismos foi muito bem recebido pela comunidade e se tornou uma das PEP’s (Python Enhancement Proposals, ou Propostas de Enriquecimento do Python) da linguagem, a PEP 20 – apesar do nome, são apenas 19 itens, não confunda.

Os pontos estabelecidos na PEP 20 são uma das métricas para se dizer se um código é idiomático ou não. O próprio Guido van Rossum, ex-BDFL (benevolent dictator for life, ou ditador benevolente vitalício) e principal criador da linguagem, definiu esses princípios como a descrição perfeita da filosofia do Python.

o que signfica pythonico e o zen do python
O Zen do Python é a melhor síntese do que significa pythonico

Tudo isso parece complicado ou inusitado? Vale lembrar que uma das grandes inspirações dos criadores da linguagem, que também inventaram o título de BDFL, é o grupo cômico britânico Monty Python, conhecido por seu humor nonsense. Com essa parte possivelmente esclarecida, veja o que mais cerca o significado do termo pythonico.

O que é um código idiomático?

Pode-se dizer que um código idiomático é aquele que parece “natural” e fluente aos usuários que conhecem as capacidades, características e convenções da linguagem. No caso do Python, que é tida como uma linguagem elegante e capaz de soluções simples, um código será considerado idiomático se se utilizar dessas possibilidades.

Para ficar mais claro, podemos usar um exemplo da língua portuguesa. Imagine que você lesse ou ouvisse o seguinte: “O Roberto vendeu o carro do Roberto”. Com certeza, nenhum falante do português teria dificuldade para entender o sentido dessa frase, mas soa um pouco estranho, não? Não é tão “natural” e idiomático quanto “O Roberto vendeu o carro dele”, porque nossa língua permite usar a contração “de” + “ele” para indicar posse e tornar a frase mais elegante e coesa.

Zen do Python

O Zen do Python é uma tentativa – muito bem-sucedida, levando em conta a opinião do holandês Von Rossum – de condensar e explicitar em 19 itens os valores que formam a linguagem. Logo, segui-lo é uma das formas mais fáceis de conseguir um código idiomático em Python, ou pythonico.

Os 19 princípios que formam a PEP 20, ou Zen do Python, ou, no fim das contas, “o que significa pythonico” são:

  1. Bonito é melhor que feio.
  2. Explícito é melhor que implícito.
  3. Simples é melhor que complexo.
  4. Complexo é melhor que complicado.
  5. Plano é melhor do que aninhado.
  6. Esparso é melhor que denso.
  7. Legibilidade conta.
  8. Casos especiais não são especiais o bastante para quebrar as regras.
  9. Ainda que praticidade vença a pureza.
  10. Erros nunca devem passar silenciosamente.
  11. A menos que sejam explicitamente silenciados.
  12. Diante da ambiguidade, recuse a tentação de adivinhar.
  13. Deveria haver um – e preferencialmente só um – modo óbvio para fazer algo.
  14. Embora esse modo possa não ser óbvio a princípio, a menos que você seja holandês.
  15. Agora é melhor que nunca.
  16. Embora nunca frequentemente seja melhor que agora *mesmo*.
  17. Se a implementação é difícil de explicar, é uma má ideia.
  18. Se a implementação é fácil de explicar, pode ser uma boa ideia.
  19. Namespaces são uma grande ideia – vamos ter mais dessas!

Legibilidade conta

O subtítulo acima, você já deve ter notado, trata-se do sétimo princípio do Zen do Python. De fato, a legibilidade do código era uma das maiores preocupações de Guido van Rossum ao desenvolver a linguagem Python. Para ele, as linhas de programação deveriam ser tão legíveis para humanos quanto para computadores, já que códigos são lidos com muito mais frequência do que são escritos.

A legibilidade era uma das maiores metas dos criadores do Python. Designed by slidesgo / Freepik

Uma das formas de conseguir esse efeito seria por meio da organização do código, que utilizaria blocos de indentação para gerenciar contextos, dessa maneira aproximando-se um pouco mais das línguas que aprendemos e falamos desde que nascemos.

Guia de estilo

Esses princípios de legibilidade formam o chamado Guia de Estilo para Python, ou PEP 8, de autoria de Van Rossum, Barry Warsaw e Nick Coghlan. É um longo documento descrevendo as convenções da linguagem e dividido entre dezenas de tópicos, que por sua vez podem levar a outras diretrizes e até outras PEP’s. Nas palavras introdutórias dos próprios autores*:

As diretrizes oferecidas aqui têm o propósito de melhorar a legibilidade do código e fazê-lo consistente através do largo espectro de códigos Python. Como diz a PEP 20, “Legibilidade conta”.

Um guia de estilo se resume a consistência: consistência em relação a este guia de estilo, dentro de um projeto e também dentro de um módulo ou função é o mais importante.

Porém, saiba quando ser consistente – às vezes as recomendações de um guia de estilo simplesmente não são aplicáveis. Se tiver dúvidas, use seu melhor juízo. Veja outros exemplos e decida o que parecer ser melhor. E não hesite em perguntar!

Em particular: não quebre a retrocompatibilidade só para concordar com esta PEP!

Falar que um código é pythonico é uma maneira sintética de dizer que ele segue os princípios estabelecidos e identificados por seus criadores e pela comunidade como as melhores práticas em cada ocasião. E, para isso, é preciso conhecê-las. Veja como logo abaixo.

*Tradução livre

Como aprender as melhores práticas e as PEP’s do Python

Se você quer aprender as PEP’s mais importantes, mas ainda não quer mergulhar na extensa documentação oficial do Python, ou talvez pela barreira da língua inglesa, preparamos um e-book com as principais boas práticas da linguagem Python que aborda as PEP’s em geral e as PEP’s 8 e 20 em específico.

Boas práticas com Python

Baixe nosso e-book e conheça algumas das melhores práticas do Python e as principais PEP’s.

Além de ler e se manter a par da documentação oficial disponível, fazer um curso Python é uma excelente maneira não só de se manter atualizado e aprender coisas novas, mas também de trocar experiências.

Nós, aqui na ByLearn, temos um curso indicado tanto para programadores Python iniciantes quanto para os mais experientes. O nosso curso Python completo – de Júnior a Sênior conta com a melhor seleção de materiais, feitos especialmente para nossos alunos.

Aqui você vai aprender tudo o que precisa, além de poder contar com nossa equipe de apoio pedagógico, aberta e disposta a compartilhar novas ideias e soluções.

Você já sabia o que significa pythonico e tudo que o cerca o termo? Siga a gente nas redes sociais e se inscreva na nossa newsletter para ficar por dentro de novos conteúdos e aprender mais sobre o fascinante universo Python.

Tags: | |

Newsletter

Se inscreva na nossa Newsletter para receber as principais novidades da ByLearn

Não enviamos spam. Seu e-mail está 100% seguro!

Solicitar exportação de dados

Utilize este formulário para solicitar a exportação de seus dados.

Solicitar remoção de dados

Utilize este formulário para solicitar a remoção de seus dados.