Python 实例内存地址
当我创建一个类实例时,如果我打印实例名,我会得到内存地址,如下代码所示:Python 实例内存地址,python,Python,当我创建一个类实例时,如果我打印实例名,我会得到内存地址,如下代码所示: class Car(object): def __init__(self, color, model): self.color = color self.model = model civic = Car('blue', 'civic') print civic 输出为: <Car object at 0x7fe4c4a1bfd0> 我感觉我可以用这些信息做很多
class Car(object):
def __init__(self, color, model):
self.color = color
self.model = model
civic = Car('blue', 'civic')
print civic
输出为:
<Car object at 0x7fe4c4a1bfd0>
我感觉我可以用这些信息做很多事情,但是我找不到我能做什么的信息。我应该使用这个内存地址做什么?我可以将它存储到某个数据库中,只是引用内存地址?
我非常感谢您提供有关这方面可能性的任何信息。您不知道。它是一个不透明的值,允许您区分不同的实例。它恰好是内存地址,但这是一个实现细节 您看到的是返回值的十六进制转换: 返回对象的“标识”。这是一个整数,保证该对象在其生存期内唯一且恒定。两个生命周期不重叠的对象可能具有相同的id()值 CPython实现细节:这是内存中对象的地址 注意这里的实现细节说明 包含该ID是因为当您有多个实例时,仅使用普通的
几乎没有那么大的帮助。您还可以提供自己的字符串,使该字符串对您的应用程序更有用;可以使其返回可复制的表达式,例如:
def __repr__(self):
return f'Car({self.color!r}, {self.model!r})'
现在表示形式如下所示:
>>> Car('red', 'Ferrari')
Car('red', 'Ferrari')
当您调试时,这可能会更有帮助。您没有。它是一个不透明的值,允许您区分不同的实例。它恰好是内存地址,但这是一个实现细节 您看到的是返回值的十六进制转换: 返回对象的“标识”。这是一个整数,保证该对象在其生存期内唯一且恒定。两个生命周期不重叠的对象可能具有相同的id()值 CPython实现细节:这是内存中对象的地址 注意这里的实现细节说明 包含该ID是因为当您有多个实例时,仅使用普通的
几乎没有那么大的帮助。您还可以提供自己的字符串,使该字符串对您的应用程序更有用;可以使其返回可复制的表达式,例如:
def __repr__(self):
return f'Car({self.color!r}, {self.model!r})'
现在表示形式如下所示:
>>> Car('red', 'Ferrari')
Car('red', 'Ferrari')
在调试时,这可能会更有帮助。您没有。它是一个不透明的值,允许您区分不同的实例。它恰好是内存地址,但这是一个实现细节。请注意,这只是继承自
\uuuuuu对象的\uuuu str\uuuuu
的默认实现。假设它是通用的,但您可以实现自己的\uuuu str\uuuu
。很多班级都有。因此,尝试def\uuu str\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。它是一个不透明的值,允许您区分不同的实例。它恰好是内存地址,但这是一个实现细节。请注意,这只是继承自\uuuuuu对象的\uuuu str\uuuuu
的默认实现。假设它是通用的,但您可以实现自己的\uuuu str\uuuu
。很多班级都有。因此,尝试def\uuu str\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。谢谢我想我可以用这个,因为某些原因。谢谢