Python Eficaz
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
handle.write(result) # Pode gerar o erro IOError
return value
finally:
handle.close() # Sempre é executado
Esse leiaute é especialmente útil porque todos os blocos trabalham juntos de uma
maneira intuitiva. Por exemplo, se uma exceção for gerada no bloco else
enquanto o resultado estiver sendo reescrito no arquivo, o bloco finally será
mesmo assim executado e fechará o manipulador de arquivo.
Lembre-se
• O comando composto try/finally permite rodar código de limpeza existindo
ou não exceções a serem tratadas no bloco try.
• O bloco else ajuda a minimizar a quantidade de código nos blocos try e
visualmente separar o resultado verdadeiro dos erros gerados pelos blocos
try/except.
• Um bloco else pode ser usado para executar ações adicionais depois que um
bloco try com resultado positivo, mas antes da limpeza comum a todos os
resultados feita pelo bloco finally.
1 N. do T.: O nome do caractere “_” em inglês é underscore. No Brasil, é popular o uso incorreto de outra
expressão inglesa, underline, para nomeá-lo, um erro muito comum, embora grosseiro. A expressão em
português “caractere de sublinhado”, apesar de constar de grande número de glossários, praticamente não
é usada na literatura nacional. A palavra underline, como substantivo, não existe na língua inglesa e,
repetimos, é um erro grosseiro usá-la em português.
2 N. do T.: O formato de nomes com as palavras capitalizadas (por exemplo, EstaClasse) também é
conhecido como Camel Case. Há dois tipos de Camel Case: um deles, chamado de UpperCamelCase, tem
a inicial maiúscula em todas as palavras que compõem o nome. O outro é o lowerCamelCase, que tem a
primeira palavra iniciando em caixa baixa e as demais em caixa alta. Algumas linguagens usam um só
tipo de Camel Case, outras usam os dois. No Java e no .NET, por exemplo, usa-se UpperCamelCase para
os nomes de classes, e lowerCamelCase para os atributos e métodos da classe. Em Python, usa-se apenas
UpperCamelCase para dar nome às classes, e qualquer outro elemento deve ser grafado todo em
minúsculas, com as palavras separadas por underscores (conhecido como snake_case).
3 N. do T.: Em português, Statement, Declaration e Assertion costumam ser traduzidos para a mesma
palavra, declaração, mas em programação cada palavra tem um significado diferente. Neste livro, para
evitar ambiguidades, traduzimos Statement como Comando, Declaration como Declaração e Assertion
como Asseveração.
4 N. do T.: Segundo esta tradução independente feita a partir da documentação oficial do Python 2.7,
disponível em http://turing.com.br/pydoc/2.7/tutorial/datastructures.html.
www.full-ebook.com