Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida aula 01.

Na explicação de criar uma função e deixar um valor padrão e quais são os problemas da mutabilidade. As explicações sobre passagem dos elementos na verdade é o uso do ponteiro pelo LIST?

2 respostas
solução!

Olá, Marcos. Tudo bem?

É bom fazer um esclarecimento. Normalmente, usamos o termo ponteiro para nos referirmos a uma variável de um tipo que armazena um endereço em memória. No C, como você deve saber, podemos manipular os endereços manualmente, diretamente, através de ponteiros. No caso do Python, não bem assim, não podemos manipular diretamente os endereços, não há o tipo ponteiro então o termo usado normalmente é "referência". Uma variável é um apelido (binding) para uma referência.

Fazendo essa diferenciação na nomenclatura, quando atribuímos uma lista a uma variável, estamos sim ligando o endereço da lista àquela variável. Então quando passamos uma lista para uma função, estamos passando seu endereço, uma referência ao objeto lista que está na memória. Por isso que se alterarmos a lista dentro da função também alteramos a lista que está fora da função, pois se referem ao mesmo objeto. Isso acontece para todos os objetos, exceto os mais básicos (números, booleanos, strings), que são imutáveis.

A nomenclatura difere um pouco, mas é como se estivéssemos passando, na linguagem C, todos os valores como o sinal de &.

Espero ter ajudado.

Prezado, Vitor.

Obrigado pelas suas orientações.

Marcos.