Introdução Link para o cabeçalho
Este post está relacionado a uma palestra ministrada no XVI encontro da comunidade mineira de Python, e aqui foi divida em partes para evitar que fique massante e cansativa.
Cada parte será postada em uma semana.
Existe um repositório onde exemplifico tudo que for colocado aqui além de explicar mais detalhadamente como e por que as coisas acontecem.
Durante a faculdade eu aprendi uma disciplina chamada linguagens de programação, e nela não se aprende nenhuma linguagem específica, mas sim os conceitos que são aplicados em todas elas.
Veremos abaixo sobre alguns conceitos e como eles são aplicados em Python.
Tipagem Link para o cabeçalho
O primeiro assunto a ser tratado será tipagem.
Tipagem estática ou dinâmica Link para o cabeçalho
Python possui tipagem dinâmica, sua vinculação de tipos ocorre em tempo de execução, por isso é possível mudar o tipo de uma variável em tempo de execução.
Tipagem forte ou fraca? Link para o cabeçalho
Python embora tenha uma vinculação de tipo em tempo de execução, ou seja dinâmica, ele possui uma tipagem forte. Não há muita conversão de tipos quando se refere a operações, como por exemplo soma.
Tipos primitivos Link para o cabeçalho
Em Python não possuímos tipos primitivos, tudo é objeto. Possuímos tipos builtins, tipos básicos que já estão disponíveis, como por exemplos listas, tuplas, números complexos, etc.
Conversão/coerção de tipos Link para o cabeçalho
Por possuir tipagem forte não há muita coerção de tipos, embora os tipos numéricos apresentam coerção.
A conversão de tipos, quando possível é realizada através de uma “função” com nome semelhante ao tipo escolhido. Por exemplo str(1), para converter um número em string.
Comparação e outros operadores Link para o cabeçalho
A comparação entre elementos não é permitida(tipagem forte) a menos que dois elementos se permitam comparação. Uma consideração deve ser feita a comparação que apresenta como resultado False.
Ponteiros Link para o cabeçalho
Não existe o tipo ponteiro, mas tudo tem a ver com ponteiros. Entenda a atribuição de uma variável como um rótulo a um endereço de memória, associado a um escopo (assunto para outro post) e este endereço de memória pode ser compartilhado.
Inclusive Python costuma utilizar desta técnica para economizar o uso de memória.
Para saber mais a respeito destes tópicos consulte este arquivo
Caso algo não esteja devidamente explicado, por favor reporte abrindo uma issue que farei o aprimoramento da explicação.
Clique aqui para ir até a parte 2.
Então é isso pessoal!
Até a próxima!
{}’s