Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何找到Python/Django模型对象的内存地址?_Python_Django_Django Models - Fatal编程技术网

如何找到Python/Django模型对象的内存地址?

如何找到Python/Django模型对象的内存地址?,python,django,django-models,Python,Django,Django Models,一个普通的东西,我可以用 o.__repr__() 看到像这样的东西 '<__main__.A object at 0x9d78fec>' “” 但是,比方说,Django用户只是返回 <User:bob> 我如何才能看到其中一个的实际地址,或者比较两个这样的模型对象是否实际上是同一个对象?使用id()函数。或者等效地只比较“obj1是obj2”。id()将返回对象的标识(通常实现为地址),这对于在同一时间点存在的两个对象来说是唯一的。但是,检查两个对象是否

一个普通的东西,我可以用

o.__repr__() 
看到像这样的东西

'<__main__.A object at 0x9d78fec>'
“”
但是,比方说,Django用户只是返回

<User:bob>

我如何才能看到其中一个的实际地址,或者比较两个这样的模型对象是否实际上是同一个对象?

使用id()函数。或者等效地只比较“obj1是obj2”。

id()
将返回对象的标识(通常实现为地址),这对于在同一时间点存在的两个对象来说是唯一的。但是,检查两个对象是否相同的明显方法是使用专门为此设计的操作符:
is


您可以获取任何对象的id:

a = object()
print hex(id(a))
虽然对于CPython来说,这是对象的地址,但我相信这并不能保证(在其他实现中,如IronPython,可能会有所不同)。相同的id表示相同的对象

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