참조
-
[파이썬🐍] 얕은 복사 vs 깊은 복사프로그래밍/Python 2022. 7. 27. 17:06
얕은 복사 VS 깊은 복사 코딩테스트 문제를 풀던 도중 문제가 발생했다. for i in range(len(nums)): n = nums n.pop(i) result.append(math.prod(n)) 나의 의도는 n이 매번 '온전한' nums를 할당받는 것! 그런데 인덱스 에러가 발생했다? # 프린트를 찍어봄 nums: [2, 3, 4] n: [2, 3, 4] nums: [2, 4] n: [2, 4] 오잉? 이럴수가! nums는 왜 변하는가 nums는 건드리지도 않았는데 말이지 그 이유는 '얕은 복사'를 했기 때문이었다. 얕은 복사란 무엇인가? 그걸 알기 위해선 먼저 mutable과 immutable의 개념부터 알아야 한다. 1. Mutable과 Immutable Mutable : 변경이 가능한 객체..
-
[Django] 참조 & 역참조프로그래밍/Django & Flask 2020. 11. 25. 12:17
좋아요 기능을 만들기 위해 공부하고 있는데 역참조가 나와서 잠깐 정리!! 다음과 같은 Model이 두 개가 있다고 가정해보자. 집 model은 살고있는 사람, 방의 개수와 같은 정보가 필요하다. 그 중 사람 column은 '사람' 모델을 Foreign Key로 지정한 값이다. 사람 model은 이름, 나이와 같은 정보를 가지고 있다. 참조 위와 같은 모델이 존재할 때, 집 모델에서 사람(Foreign Key)를 불러들이는 걸 참조라고 한다 역참조 위와 반대로 사람 모델이 집 모델을 불러들일 때를 역참조라고 한다. 역참조를 사용하는 방법엔 1) _set manager를 사용하는 방법이 있다. - person.house_set.all (참조되고 있는 모델(사람).참조하는 모델(집)_set.all ) 2) r..