인스턴스화 된 동일한 클래스의 1000 개의 다른 객체가 있다고 가정하고 키가 1에서 1000까지이고 그 값이 1000 객체 인 사전에이 객체를 할당한다고 가정합니다.파이썬에서 실제로 메모리를 차지하는 것은 무엇입니까?
이제 튜플 (obj1, 1), (obj2,2) 등의 다른 사전을 만듭니다. obj는 동일한 1000 개의 개체입니다. 그리고 그 값은 1에서 1000입니다.
1000 개의 개체가 각 사전의 키와 값에 있기 때문에 메모리 사용량이 두 배가된다는 것을 의미합니까?
그렇지 않아야합니다. 우리는 새로운 객체를 생성하지 않기 때문에 동일한 객체에 참조를 할당하는 것입니다. 따라서 값이나 키 (튜플의 일부)와 같은 객체를 가진 1000 개의 유사한 사전을 사용할 수 있으며 메모리 사용량이 크게 증가하지는 않습니다.
맞습니까?
개체 자체를 복사 할 필요는 없지만 각 개체에 대한 포인터를 만들어야합니다 (뒤에서). 객체가 작 으면 실제로 "메모리 사용이 크게 증가합니다". –
http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html#other-languages-have-variables – Lanting
@aryamccarthy하지만 이러한 객체에 대한 포인터는 가볍기 때문에 왜 크게 증가할까요? – user1008636