Oii, Enderson! Que prazer ver sua curiosidade e iniciativa em testar esses conceitos. Sua lógica tá correta e você já percebeu uma das formas mais comuns de organizar dados em Python.
Exatamente como você notou no seu código, ao colocar tuplas dentro de uma lista, você cria uma estrutura flexível na quantidade de itens, mas rígida na estrutura de cada item.
- A Lista (lista_contatos): Funciona como o recipiente. Você pode adicionar novos contatos com
append() ou remover quem não deseja mais. - As Tuplas (contato1, contato2...): Garantem que a estrutura do registro não mude acidentalmente. Um contato sempre terá (Nome, Endereço, Telefone) naquela ordem específica, protegendo a integridade dos dados de cada pessoa.
Conexão com banco de dados:
Sua percepção sobre bancos de dados foi certeira. Quando realizamos consultas em bibliotecas populares do Python (como o sqlite3 ou o psycopg2 para PostgreSQL), o resultado padrão das buscas costuma ser justamente uma lista de tuplas (ou uma estrutura muito similar).
Cada tupla representa uma linha da tabela (um registro) e a lista representa o conjunto de resultados daquela consulta. Isso acontece porque:
- Os dados de uma linha do banco de dados não devem mudar de estrutura durante a leitura.
- A quantidade de linhas retornadas pode variar conforme o filtro aplicado, justificando o uso da lista.
Parabéns pela experimentação! Seguir testando o código na prática é o melhor caminho para o aprendizado.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!