Interpolação de strings em Python

Mas que coisa! Em Python é só o cara passar um tempo fora e quando chega de volta já mudou um monte de coisas na linguagem. Quando eu aprendi a linguagem (na versão 2.3, há uns 5 anos), só havia uma maneira de inserir valores no meio de uma string: com o operador %, que funciona parecido com o printf do C.

Mas agora fui baixar o Python 3.1 pra automatizar uma tarefa aqui e me deparei com 3 (3!!!!! dá pra acreditar???) métodos totalmente diferentes de fazer a mesma coisa. O (1) jeito antigo do operador %, com a sintaxe “%d”, “%s”, “%f”, etc.; (2) a classe Template, com a sintaxe “${nome_campo}”, e (3) o método format, com a sintaxe “{nome_campo}”

Onde eles estavam com a cabeça? O Python 3 não era pra limpar a linguagem de coisas incoerentes? Por exemplo o caso do print, que era um comando especial e foi transformado em função. Li e reli os PEPs (0292 e 3101) e, embora eles tentem explicar, não entendi qual é o motivo de precisar de 3 formas diferentes de formatar strings, cada uma com uma sintaxe diferente. Não era o Python que dizia “There should be one– and preferably only one –obvious way to do it.”? (retirado do import this). Eu justamente preferia Python a Perl e Ruby porque estas duas têm milhares de maneiras de fazer as mesma coisas, com minúsculas diferenças (ex.: && e and) que fazem a gente perder tempo com minúcias.

Bom, fora isso, Python parece continuar sendo uma linguagem com uma legibilidade muito boa, poderosa e de alta produtividade. Se alguém tiver algo mais a comentar sobre a linguagem (especialmente da versão 3 em diante, que tem mais novidades), posta aí!

Anúncios

Um pensamento sobre “Interpolação de strings em Python

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s