O Zen de Python (em inglês: Zen of Python) é uma coleção de 19 princípios orientadores, na forma de poema, com uma série de aforismos, para escrever programas de computador que influenciam o design da linguagem de programação Python.
O engenheiro de software Tim Peters escreveu esse conjunto de princípios e o publicou na lista de discussão de Python em 1999. A lista de Peters deixou em aberto o vigésimo princípio "para Guido preencher", referindo-se a Guido van Rossum, o autor original da linguagem Python. A vaga para o vigésimo princípio, todavia, não foi preenchida.
O Zen de Python de Peters foi incluído como entrada número 20 nas propostas oficiais de aprimoramento de Python (PEP), lançadas em domínio público. Ele também está incluído como um easter egg no interpretador Python, que pode ser exibido digitando:
>>> import this
Os princípios que constam no Zen of Python são (originalmente em Inglês):
A versão em Português seria a seguinte:
Um dos princípios, "Deve haver uma - e de preferência apenas uma - maneira óbvia de fazer isso", pode ser referenciado como o jeito "Pythonico". A definição oficial de "Pythonico" é:
Uma ideia ou trecho de código que segue de perto os padrões mais comuns da linguagem Python, em vez de implementar código usando conceitos comuns a outras linguagens. Por exemplo, uma prática comum em Python é percorrer todos os elementos de um elemento iterável usando uma instrução
for. Muitas outras linguagens não possuem esse tipo de construção, então pessoas não familiarizadas com Python às vezes usam um contador numérico em vez disso:for i in range(len(food)): print(food[i])Em contraste com o método mais limpo e "pythonico":
for piece in food: print(piece)
Códigos que são difíceis de entender ou que se leem como uma transcrição grosseira de outra linguagem de programação é chamado de não-pythonico.
Desde o lançamento do Zen do Python, têm sido feit pesquisas sobre sua eficácia e uso prático entre programadores. Apesar da diferença de interpretação entre juniores e programadores Python experientes, entrevistas realizadas com 13 programadores Python de diferentes níveis de habilidade mostram que o Zen do Python "influencia positivamente o jeito como os desenvolvedores escrevem e falam sobre código". Os pesquisadores expandiram este estudo de caso para explorar o uso de expressões idiomáticas do Python em repositórios do GitHub e descobriram que o uso de "expressões pythonicas" aumentou ao longo do tempo. Escrever códigos em Python que estejam alinhados com o Zen do Python pode economizar memória e tempo de execução de programas Python. O desejo de escrever código "pythonico" ocasionou no desenvolvimento de ferramentas de refatoração para ajudar os desenvolvedores a alcançar esse objetivo.