15.12.2022 Views

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!