Função “id”

A função id() em Python é utilizada para obter a identidade de um objeto, ou seja, o endereço de memória onde o objeto está armazenado. Cada objeto em Python possui uma identidade única e imutável, que é representada como um número inteiro.

Sintaxe:

id(objeto)
  • objeto: O objeto do qual você deseja obter a identidade.

A identidade de um objeto é um valor inteiro que é garantido de ser único durante a vida útil do objeto. Isso significa que dois objetos diferentes nunca terão o mesmo ID. No entanto, a mesma identidade pode ser reutilizada para diferentes objetos ao longo do tempo.

O ID de um objeto é geralmente usado para comparar se duas variáveis se referem ao mesmo objeto, em vez de comparar os valores dessas variáveis. Isso é especialmente útil ao trabalhar com tipos mutáveis, como listas e dicionários, onde duas variáveis podem conter o mesmo conteúdo, mas ainda assim se referirem a objetos diferentes.

Exemplo:

v1 = "a"
v2 = "a"
 
print(id(v1)) # 139916617267568
print(id(v2)) # 139916617267568

Neste exemplo, temos duas variáveis v1 e v2 que armazenam a mesma string “a”. Ao imprimir os IDs das variáveis, vemos que elas possuem o mesmo valor. Isso ocorre porque, em Python, strings são imutáveis e, para otimizar o uso de memória, o Python reutiliza o mesmo objeto string quando dois valores iguais são criados. Portanto, v1 e v2 se referem ao mesmo objeto na memória.

No entanto, é importante ressaltar que esse comportamento pode variar de acordo com a versão do Python, o interpretador e outras condições. Portanto, não é garantido que objetos com o mesmo valor sempre terão o mesmo ID.

O uso da função id() é principalmente útil para fins de depuração e compreensão do comportamento dos objetos na memória. Para comparações de igualdade entre valores de objetos, é recomendado usar o operador == em vez de comparar IDs.