1.1.2 Tipagem dinâmica

Um dos conceitos básicos em programação é a variável, que é uma associação entre um nome e um valor. Ou seja, abaixo, neste fragmento na linguagem C:

    int a;
    a = 1;

temos uma variável com o nome a sendo declarada, com tipo inteiro e contendo o valor 1. Em Python, não precisamos declarar variáveis, nem seus tipos:

    >>> a = 1

seria a instrução equivalente; define uma variável com o valor 1, que é um valor inteiro.

Python possui o que é conhecido como tipagem dinâmica: o tipo ao qual a variável está associada pode variar durante a execução do programa. Não quer dizer que não exista tipo específico definido (a chamada tipagem fraca): embora em Python não o declaremos explicitamente, as variáveis sempre assumem um único tipo em um determinado momento.

    >>> a = 1
    >>> type(a)         # a função type() retorna o tipo
    <type 'int'>        # associado a uma variável
    >>> a = "1"
    >>> type(a)
    <type 'str'>
    >>> a = 1.0
    >>> type(a)
    <type 'float'>

Tipagem dinâmica, além de reduzir a quantidade de planejamento prévio (e digitação!) para escrever um programa, é um mecanismo importante para garantir a simplicidade e flexibilidade das funções Python. Como os tipos dos argumentos não são explicitamente declarados, não há restrição sobre o que pode ser fornecido como parâmetro. No exemplo acima, são fornecidos argumentos de tipos diferentes à mesma função type, que retorna o tipo deste argumento.