PEP 8 - Guia de estilo para código Python

Este artigo é uma tradução/adaptação da PEP 8 - Style Guide for Python Code, de Guido van Rossum e Barry Warsaw, que mostra as convenções para escrever código Python.

[ Hits: 58.208 ]

Por: Artur Gaspar em 20/04/2010


Codificação e importações



Codificação

Código do Python deve sempre utilizar codificação ASCII ou Latin-1 (ISO-8859-1). Para Python 3.0 e mais novos, UTF-8 é preferível ao Latin-1, consulte a PEP 3120.

Arquivos usando ASCII (ou UTF-8, para Python 3) não devem ter um encoding cookie. Latin-1 (ou UTF-8) deve ser utilizado apenas quando um comentário ou docstring precisa mencionar um nome de autor que requer Latin-1, caso contrário, é preferível usar escapes \x, \u ou \U como forma de incluir dados não-ASCII em strings.

Para Python 3.0 e além, a política a seguir deve ser usada na biblioteca padrão (ver PEP 3131): Toda a biblioteca padrão deve usar somente identificadores ASCII, e deve usar palavras em Inglês, sempre que possível (em muitos casos, abreviaturas e termos técnicos são usados que não são em Inglês). Além disso, strings e comentários devem ser em ASCII. As únicas exceções são:
  • casos de teste testando os recursos não-ASCII;
  • os nomes dos autores. Autores cujos nomes não estão baseadas na alfabeto latino deve fornecer uma transliteração latina de seus nomes.

Projetos de código aberto com uma audiência global são incentivados a adotar uma política similar.

Importações

Importações devem estar em linhas separadas:
  • Sim:
    import os
    import sys
  • Não: import os, sys
  • Mas é possível usar: from subprocess import Popen, PIPE

Importações ficam sempre no começo do arquivo, após os comentários e a docstring de módulo, e antes da declaração das constantes e globais.

Importações devem estar na seguinte ordem:
  1. da biblioteca padrão
  2. de terceiros
  3. locais, da aplicação

Deve ser colocada uma linha entre cada grupo de importações.

Coloque qualquer especificação relevante para __all__ depois das importações.

Importações relativas para importações intra-pacote são altamente desencorajadas. Sempre use o caminho absoluto do pacote em todas as importações. Mesmo agora que o PEP 328 está totalmente implementado em Python 2.5, seu estilo de importações em relação explícita é ativamente desencorajado: importações absolutas são mais portáteis e, geralmente, mais legíveis.

Quando importar uma classe de um módulo que contenha classes, normalmente não é errado usar isso:

from myclass import MyClass
from foo.bar.yourclass import YourClass

Se houverem problemas com nome, use o nome inteiro do módulo:

import myclass
import foo.bar.yourclass

E use "myclass.MyClass" e "foo.bar.yourclass.YourClass".

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Tamanho da linha e linhas em branco
   3. Codificação e importações
   4. Espaços em branco
   5. Comentários e docstrings
   6. Escrituração de versão e convenções de nomenclatura
   7. Recomendações de programação
   8. PEP 20 - The Zen of Python - de Tim Peters
Outros artigos deste autor

Instalando e configurando o VirtualBox

Leitura recomendada

Pydev - Preparando o Eclipse para o Python

paramiko - Python + SSH

Gerar senhas seguras com Python

Como criar um bot para curtir e comentar perfis do Instagram

Clicador automático de Tinder com Python

  
Comentários
[1] Comentário enviado por removido em 20/04/2010 - 12:00h

Muito bom.


Contribuir com comentário