Dúvidas mais comum do python

Quando temos o primeiro contato com a linguagem python, nos deparamos com alguns aspectos da linguagem que a torna confusa, principalmente quando comparada com outras linguagens.

Neste post esclarecerei algumas das dúvidas mais comuns do python.

if __name__ == “__main__”

Imagino que já deve ter se perguntado pela qual era a real necessidade de utilizar essa instrução nos scripts pyhton e a resposta é simples.

A módulo __name__ recebe o valor __main__ quando o script python é executado diretamente pelo shell.

No exemplo acima, o módulo __name__ do arquivo script.py receberá o valor __main__, porém caso seja realizado um import, o valor do __name__ corresponderá ao nome do pacote, nesse caso, “script”.

Para maiores esclarecimentos, leita este post.

Arquivos __init__.py dentro das pastas

Outra perola do python é os arquivos de inicialização, que tem como função identificar uma pasta como pacote na linguagem python.

Portanto, quando encontrar um arquivo __init__.py dentro de uma pasta, lembre-se que ela é um pacote, no entanto,  este arquivo não se limita apenas a indicar que uma pasta é apenas um pacote, ele também permite que seja executada instruções sempre que o pacote é importado.

Cade o switch?

Já deve ter procurado pelo switch no python, lamento informar que a linguagem não possui implementado no seu core, restando utilizar o if e elif.

Função Lambda

A Expressão lambda permite escrever funções anônimas em uma única linha de código. Exemplo:

Nota-se que não foi utilizado o return, isso é implícito em uma função lambda.

Else no for e while

Outro aspecto da linguagem que causa confusão em que já tem conhecimento em outra linguagem é a instrução else no for e while. Devemos compreender bem o seu funcionamento para que não seja induzido pela mesma correspondência do if.

Se você imaginou que o bloco de código correspondente ao else é executado quando o laço não é executado nenhuma vez, está completamente enganado. A instrução else no for e while é executado sempre, exceto quando utilizamos a instrução break no corpo do laço, sendo assim, caso não seja utilizado o break no corpo do for/while o else sempre será executado.

Herança múltipla

Isso mesmo que você ouviu, o python é uma das poucas linguagens que permite herança múltipla.

Operadores ternários em Python

Diferentes de outras linguagens que utiliza o operador ternário herdado da linguagem C, onde sua representação se dá pela sintaxe condição ? verdadeiro : false, o python possui uma sintaxe própria, porem que surte o mesmo efeito.

Operadores ternários na computação possuem origem na linguagem C, onde sua função é verificar uma condição e executar uma instrução caso a condição seja satisfeita ou outra caso contrario. Isso lhe parece familiar? Na verdade, operação ternária é uma simplificação do if e else, porém sua diferença está no fato da operação ser executada em uma única linha.

Abaixo temos uma expressão comum com if e else:

No código abaixo, utilizaremos operação ternária para executar a mesma função demonstrada acima:

Nota-se que não é utilizado os “:” após o if/else como na versão tradicional. Apesar da operação ternária parecer mais simples do que a condição comum do if/else, sempre devemos nos questionar o real motivo de utilizar este modelo, para que não sacrifique a legibilidade do seu código.

Dica: Utilize operação ternária apenas na atribuição de variáveis ou no momento da impressão de valores, evite utiliza-las “a tordo e a direito”, nesses casos opte pela forma tradicional, pois assim, garante o entendimento do seu código e evita bugs difíceis de serem rastreados.

Aprecie com moderação. 😀