Como o Fernando mencionou. Python é fortemente e dinamicamente tipado.
O que determina a força da tipagem é se a partir do momento que a variável recebe um valor, o tipo daquele valor não pode sofrer mutações para outros tipos.
por exemplo, o php é fracamente tipado e eu posso fazer o seguinte:
$valorA = '10'; //valor string
$valorB = 20; //valot int
$total = $valorA + $valorB; //30 inteiro
perceba que somar uma string com um inteiro resultou em um inteiro. e posso fazer pior:
$valorA += 10; //valor a passará a contar um valor 20 inteiro.
A linguagem C também é conhecida como fracamente tipada pois permite que tenhamos ponteiros de um tipo que apontam para variáveis de outros tipos, que aliás, é assim que o php implementa seus tipos internamente (pois o php é na verdade um interpretador para a linguagem C).
O python é fortemente tipado pois não permite este tipo de mutabilidade dos tipos, não se pode "mutar" strings para inteiros entre outros hacks permitidos em linguagens fracamente tipadas. Ao mesmo tempo ele é dinamicamente tipado, pois ao criar variáveis não se declara um tipo fixo para elas, ao contrário de linguagens estaticamente tipadas como o Java no qual é obrigatório declarar o tipo de uma variável e aquela variável pode receber valores somente daquele tipo