mutable object (1) 썸네일형 리스트형 [Python] Default Argument Value - mutable object 파이썬 함수를 호출하다가 이상한 점을 발견하였다. 분명히 인자로 아무 값도 넘겨주지 않았는데 함수 내부에서는 파라미터에 값이 들어가 있는 것이다. 디버깅을 한 결과 파이썬의 default argument value 를 잘못 사용하고 있었다는 것을 알게 되었다. 이 문서에서는 문제를 발견하고 이를 디버깅한 과정과 이후 알게 된 내용을 정리한다. 1. 이슈 발견 및 디버깅 예시에서는 Context 클래스의 func 함수를 호출하고 있다. func 함수는 v 라는 파라미터와 l 이라는 파라미터를 가지고 있다. 여기서 v 는 int 1 을 기본값으로 l 는 list [] 를 기본값으로 가지고 있다. func 함수는 리스트 l 에다가 v 의 값을 추가한 다음에 이를 화면에 출력하는 함수이다. 그렇기 때문에 함수를.. 이전 1 다음