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.

if found[0]:

found = int(found[0])

else:

found = default

return found

O código que chama a função é muito mais limpo que a expressão complexa

usando or ou que a versão em duas linhas usando if/else.

green = get_first_int(my_values, 'green')

No exato momento em que suas expressões se tornem complicadas, é hora de

considerar dividi-las em partes menores e mover a lógica para funções

auxiliares. O que se ganha em legibilidade sempre supera qualquer enxugamento

de código que se possa conseguir. Não deixe que a sintaxe concisa do Python em

expressões complexas coloque-o em uma situação desagradável como essa.

Lembre-se

• A sintaxe do Python facilita a criação de expressões de uma única linha que

são incrivelmente complexas e difíceis de ler.

• Transfira expressões complexas para uma função auxiliar, especialmente se

for necessário usar a mesma lógica repetidamente.

• A expressão if/else oferece uma alternativa muito mais legível que o emprego

de operadores booleanos como or e and em expressões.

Item 5: Saiba como fatiar sequências

O Python tem uma sintaxe específica para dividir sequências em pedaços

menores. O fatiamento (slicing) permite acessar um subconjunto dos itens de

uma sequência com muito menos esforço. Os candidatos mais simples para

serem alvo dessa técnica são os valores do tipo list, str e bytes. Podemos dividir

sequências também em qualquer classe de Python que implemente os métodos

especiais __getitem__ e __setitem__ (consulte o Item 28: “Herde da classe

collections.abc para obter tipos de contêiner personalizados”).

O formato básico da sintaxe de fatiamento é somelist[start:end], no qual start é

inclusivo e end é excludente.

www.full-ebook.com

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

Saved successfully!

Ooh no, something went wrong!