Avatar ·

O que é um objeto em Python. Por que id(a) == id(b) == id(1)?

📁 python, exemplo, IA, livro, trabalho

"

Detalho a pergunta.
Nos livros de Python, escrevem que tudo em Python é um objeto.

Vamos pegar a abordagem tradicional de estudo/ensino de linguagens de programação. As linguagens Pascal, C, C++ têm o conceito de "nome de variável" (identificador). Um valor é associado/atribuído ao nome da variável. O valor é armazenado na memória. O nome da variável é uma forma (no código-fonte do programa) de acessar o endereço de memória para obter o valor que está armazenado lá.

Não sei se a afirmação é correta (para linguagens compiladas): Para variáveis, por exemplo, do tipo inteiro, no momento da execução do programa no computador, o processador já trabalha com os endereços das células de memória onde os valores das variáveis estão armazenados. Ou seja, não existe algo como um nome de variável armazenado em algum endereço que esteja vinculado ao endereço da célula onde o valor está armazenado.

Agora vamos para Python. Nesta linguagem, tudo é um objeto, até mesmo a definição de uma função.
A variável é um objeto, o valor é um objeto, etc. Em momentos diferentes, com o mesmo ob