No caso abaixo, pro professor deu a mesa localização na memória pro objeto conta, no meu deu diferente. Alguém sabe dizer porque?
No caso abaixo, pro professor deu a mesa localização na memória pro objeto conta, no meu deu diferente. Alguém sabe dizer porque?
Olá Victor, tudo bem com você?
Peço desculpas pela demora em lhe responder.
A referência de memória que é apresentado na imagem: 0x00000212FC20D0D0 e 0x212fc20d0d0 correspondem a um único espaço de memória, a diferença entre eles é o fato de termos os zeros (0) suprimidos por serem zeros à esquerda de um número.
As referências são representadas por números na base hexadecimal, para testarmos se os valores realmente são iguais, podemos usar o seguinte código:
primeiro_endereco = '0x00000212FC20D0D0'
segundo_endereco = '0x212fc20d0d0'
# convertendo string para inteiro na base 16 e esse inteiro, para o formato hexadecimal
int_primeiro_endereco = int(primeiro_endereco, 16)
hex_primeiro_endereco = hex(int_primeiro_endereco)
print(hex_primeiro_endereco)
# convertendo string para inteiro na base 16 e esse inteiro, para o formato hexadecimal
int_segundo_endereco = int(segundo_endereco, 16)
hex_segundo_endereco = hex(int_segundo_endereco)
print(hex_segundo_endereco)
# Resultato
0x212fc20d0d0
0x212fc20d0d0
Como apresentado no código acima, obtemos o mesmo resultado durante a conversão dos valores, assim, sabemos que os valores estão representando o mesmo espaço de memória.
Para saber um pouco mais sobre a manipulação de números hexadecimais, recomendo a leitura do seguinte artigo:
Coloco-me à disposição em caso de dúvidas.
Abraços e bons estudos.