Python 23

matplotlib 사용시 메모리 누수

Memory Leakage 프로그램이 불필요한 메모리를 점유하고 있는 것을 메모리 누수(memory leakage)[1] 메모리 누수를 발생시키는 요인 중 matplotlib 라이브러리를 사용할 때 메모리 누수가 발생하기 쉬움 각 iteration마다 이미지를 그리는데 필요한 메모리를 할당하고 이미지를 저장하는데 다음 iteration으로 넘어가도 해당 메모리를 점유하기 때문에 다음과 같은 경우에 메모리 누수가 발생 메모리 사용량 추적을 위해 다음 블로그의 코드를 사용했습니다.[2] import matplotlib.pyplot as plt import numpy as np memory_ = np.zeros(100) dummy_data = np.random.rand(100,100,100,3) for i i..

보기 좋은 쉼표 배치

이 글은 슬기로운 파이썬 트릭의 내용을 정리한 글입니다. 2.2 보기 좋은 쉼표배치 파이썬의 리스트, 딕셔너리, 세트 상수에서 항목을 추가, 제거할 때 유용한 팁 git과 같은 소스 컨트롤 시스템에서 변화를 보여줄 때 line별로 표시를 함 아래와 같이 names 리스트를 한 행에 선언하면 수정사항을 확인하기 곤란함 names = ['Alice', 'Bob', 'Dilbert'] 모든 행을 쉼표로 끝내자 다음과 같이 names 리스트를 여러 행에 걸쳐 선언하면 수정사항을 보기 편리함 ```python names = [ 'Alice', 'Bob', 'Dilbert' ] ``` 이렇게 작성했을 때, 수정사항을 명확하게 볼 수 있지만 콤마(,)를 빼먹어 예상치 못한 버그를 만들 수 있음 python에서 공백으..

assert문으로 디버깅

이 글은 슬기로운 파이썬 트릭의 내용을 정리한 글입니다.2.1 assert(단언)문으로 방어하기단언문은 어떤 조건을 테스트하는 디버깅 도구로 유용하다.프로그램을 작성할 때 예상 범위 외로 벗어날 때 에러를 발생시킨다.assert 조건에서 벗어난 경우에 에러를 발생시킨다.## assertassert expression1, 'expression2'assert 프로그램에서 만족할 것으로 생각하는 조건이고, expression2는 expression1이 False일 때 에러와 함께 출력할 표현이다.예외처리를 하지 않는 이유 (try... except ...)에러를 발생시켜 다시 시도할 수 있는 버그가 아니라 프로그램은 실행되지만 존재하는 버그를 찾는데 활용할 수 있다.따라서 디버깅을 할 때, 프로그램을 중단시키..