1. copy함수
여태까지 copy() 함수를 쓰면 독립적으로 복사가 된다고 알고 썼다.
그런데 오늘 문제를 풀다가 copy를 평소처럼 써서 리스트를 새로 만들었는데 자꾸 복사해온 리스트 원소가 바뀌었다.
알아보니 그동안 잘못된 사용을 하고 있던 것이고 문제가 없다고 착각을 했던 것 같다.
copy함수는 얕은 복사로 객체 전체를 복사한 것이 아니라 메모리주소만 복사한 것이라서
copy한 변수를 바꾸면 원 변수에도 영향을 미친다고 한다.
이것은 immutable한 객체에는 영향이 없는데 mutable한 객체에 영향을 미칠 수 있다.
그래서 리스트를 사용할 때 문제가 될 수 있었고, 세트, 딕셔너리 모두 마찬가지로 문제가 발생할 수 있다.얕은 복사의 방법은 내가 사용한 .copy()함수부터, = 을 사용하여 만드는 복사, 슬라이싱을 사용한 복사, import copy를 하고 copy.copy(객체) 전부 얕은 복사였다.반면, 깊은 복사는 독립적으로 복사를 해준다.
이를 사용하기 위해서는 copy.deepcopy를 사용해야 한다.그래야 새로 복사한 리스트에 뭔 짓을 해도 기존 리스트에 영향이 없게 된다.
2. 오버리프 문제
LaTeX Error: Cannot determine size of graphic in ~.png
어제까지 잘만 되던 컴파일링이 갑자기 오류가 뜨면서 그림이 하나같이 출력이 안됐다.
이유는 매우 단순했다..
어제 교수님께 텍파일 보내려고 잠시 컴파일러를 pdfLaTeX에서 LaTeX으로 바꿔서 전송해드리고 다시 원상태로 돌려놓지 않아서 발생한 문제였다.
이걸 한시간동안 해결 못해서 계속 써칭하다가 순간 머릿속에 스쳐 지나가서 다시 되돌려두니 바로 해결됐다...
'언어 > Python' 카테고리의 다른 글
11/26 공모전 준비하며 배운점 + 느낀점 (잊지말자 reset_index) (0) | 2022.11.27 |
---|---|
11/23 배운점 (0) | 2022.11.23 |
11/14 배운점 (0) | 2022.11.14 |
11/14 문제는 문제고 실행은 실행이다 (0) | 2022.11.14 |
11/13 배운점보다 의문점 (가상환경 경로 문제 어떡하지..) (0) | 2022.11.13 |