동적인 에러처리
python - default 인자 와 doc string 을 사용한 동적인 에러처리
python - default 인자 와 doc string 을 사용한 동적인 에러처리
2021.08.22디폴트 인자 값으로 None을 사용하는 것은 인자가 가변적인 경우 특히 중요하다. JSON 데이터로 인코딩된 값을 읽으려고하는데 데이터 디코딩에 실패하면 기본값으로 빈 dict 를 반환하고싶다고 가정해보자. import json def decode(data, default={}): try: return json.loads(data) except ValueError: return default 이 코드는 몇가지 문제가 있다. default 값이 모듈을 로드하는 시점에 단 한번만 평가되기 때문에 default에 지정된 dict 가 decode 함수 호출에 모두 공유된다. 이로인해 매우 놀라운 결과가 나타난다.. foo = decode('error data') foo['A'] = 10 bar = decode(..