본문 바로가기

Memory2

javascript - memory개념과 비교 기본적으로 컴퓨터언어 관련하여서는 메모리 관련 이슈를 거의 초기에 배우는 것 같다. 파이썬 이후로 두번째로 메모리 이슈를 배우게 되는 것 같다. 가령 자바스크립트에서 [1,2,3] === [1,2,3] 은 false다 컨텐츠 내용은 동일하지만 메모리값이 동일하지 않아서이다. 메모리란 일종의 주소값이라고 보면된다. 그리고 그 주소값은 각각의 정의에 부여된다고 보면된다. 우리들의 육안으로 보기에 위의 [1,2,3] === [1,2,3] 은 같아보이지만 메모리 값으로는 메모리A === 메모리B의 개념이라고 보면 된다. 여기서 재밌는 개념이 나오는데 바로 "복사"다 복사를 하게되면 복사를 하게된 매개체와 동일한 메모리값을 사용하게 된다. let num = [1,2,3]; let numCopy = num; 이라고.. 2022. 12. 3.
파이썬 얕은복사, 깊은복사 (메모리값 문제 해결) # 얕은복사와 깊은 복사 # 얕은복사란 r1 = 1 r2 = 2 r3 = r1 # 이라고 할때 r3는 r1를 얕은 복사를 한것이다. # 때문에 r1를 변경하면 r3도 함께 변경된다. # 메모리 값때문에 존재하는 복사 # 깊은 복사 scores = [int(input('국어 점수 입력: ')), int(input('영어 점수 입력: ')), int(input('수학 점수 입력: '))] print(scores) # 이게 카피본이다. copyScores = scores.copy() # 이렇게 되는 순간 scores = memory1, copyScores = memory2의 개념이라고 보면 된다. for idx, score in enumerate(copyScores): result = score * 1.1 c.. 2022. 5. 20.