2009-07-02 5 views
0

평범한 개체, 나는 말, 장고 사용자가 그냥 실제 주소를 볼 수있는 방법Python/Django 모델 객체의 메모리 주소는 어떻게 찾습니까?

<User:bob> 

을 반환

'<__main__.A object at 0x9d78fec>' 

하지만, 같은 것을보고

o.__repr__() 

을 사용할 수 있습니다 두 모델 객체가 실제로 같은 객체인지 아닌지 비교해보십시오.

+1

repr (o) not o .__ repr __() 사용 –

답변

7

id()은 동일한 시점에 존재하는 두 개체에 대해 고유 한 것으로 보장되는 개체의 ID (일반적으로 주소로 구현 됨)를 반환합니다. 그러나 두 객체가 동일한 지 여부를 확인하는 확실한 방법은 명시 적으로이를 위해 설계된 연산자를 사용하는 것입니다. is

예. CPython에 대한,이 객체의 주소가 있지만 이것은 내가 믿는 (와 같은 다른 구현에 따라 달라질 수 있습니다 보장 할 수 없습니다,

a = object() 
print hex(id(a)) 

:

if obj1 is obj2: 
    # Objects are identical. 
1

id() 함수를 사용하십시오. 또는 동등하게 "obj1 is obj2"를 비교하십시오.

2

당신은 어떤 개체의 ID를 얻을 수 있습니다 철 파이썬). 동일한 ID는 동일한 객체를 의미합니다.

관련 문제