在python中使用“指针”或“内存管理”参考?

时间:2015-06-04 10:40:57

标签: python pointers memory reference

如何在python中构建类似链接列表的内容。我意识到python不是低级别的。但是假设我有一个非常大的对象,我想在另一个类的实例中包含对这个大对象的引用:

class LargeObject:

    def __init__(self):
        # use lots of memory


class SmallObject:

    def __init__(self, large_object_ref):
        self.large_object_ref = large_object_ref

    # ...


largeObj = LargeObject()
smallObj = SmallObject(largeObj) # What happens in memory? 

我想确保self.large_object_ref永远不会成为内存中LargeObject深度复制实例,我该如何防止/确保这一点?

我承认我对python的内存模型或管理知之甚少,因为人们不应该在Python中使用它。我熟悉C / ++,所以我借用了该领域的术语和想法。

1 个答案:

答案 0 :(得分:0)

Python是pass-by-assignment,它基本上等于可变对象的传递引用(并且大多数用户创建的对象都是可变的)。