은 변수 이름을 다시 사용하는 것이 좋습니다.메모리를 절약하기 위해 Python에서 이름을 다시 사용하기
foo = Spam()
bar = foo.eggs()
그리고 동의합니다. 코드를 읽을 수있게합니다.
변수가 40MB의 데이터 인 경우 어떻게됩니까? 그것 자체를 복사하고 총 80 MB 의가?
foo = buffer # 40 MB.
bar = foo.resize((50, 50)) # +40?
나는 기능이 실행됩니다 때 메모리가 해제됩니다 알아,하지만 난 여전히 그것은 단지 때문에 가독성을 응용 한 상태에서 두 배 이상 메모리 사용량처럼 가지고하는 것이 좋습니다 생각하지 않습니다. 특수한 경우와 같지만 특별한 경우는 특별하지 않습니다.
파이썬에는 "변수"같은 것이 없습니다. 그것의 모든 참조. – Ber
사실입니다 만, 복사가 일어날 수있는 유일한 장소는 아닙니다.'foo.resize'는 그 결과를 반환합니다. 즉, 내부 버퍼에서 새로운 버퍼를 생성하고 반환합니다. 이것은 실제로 그 데이터가 두 번 존재할 수 있음을 의미합니다. – lvc
나는 본다. 그러나 질문에는 공유 인 'foo = buffer'가 포함되어 있습니다. '.resize'는 뾰족한 타겟의 메소드입니다. 나는 그것이 정확히 무엇을하는지 모른다. 'bar'가 질문의 핵심이라면,'bar'가 가리키는 더 이른 목표는 해제되고'bar'는 다른 목적을 위해 재사용됩니다. – pepr