O padrão é avaliado uma vez, na definição. Por isso uma lista como valor padrão é compartilhada por todas as chamadas — e como corrigir.
Atribuir não copia. Cópia rasa duplica só o contêiner de fora, deepcopy reconstrói a árvore inteira e lida com ciclos.
Igualdade compara valores, identidade compara objetos. Por que inteiros pequenos e strings literais enganam, e por que isso vira bug em produção.
Escreva um decorator na mão e o @ para de parecer mágica. Com functools.wraps, decorators com argumentos e estado no closure.
O que as estrelas realmente fazem, a ordem obrigatória dos parâmetros, argumentos somente-nomeados e o desempacotamento na chamada.
A ordem das partes, filtrar com if, escolher com if/else, comprehensions de dict e set, e quando trocar por um generator.
Formatos numéricos, alinhamento, o truque do sinal de igual para depurar, datas e chaves literais. O guia rápido de formatação, com saída real.