본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 03. Functions”을 읽고 정리한 내용입니다. 키워드 인자 키워드 인자를 넘기는 순서는 상관 없다. 필요에 따라 키워드와 위치 기반 인자를 섞어서 사용할 수 있다. 위치 기반 인자를 지정하려면 키워드 인자보다 앞에 지정해야 한다....
[Better Way #23] 키워드 인자로 선택적인 기능을 제공하라
[Better Way #22] 가변 위치 인자를 사용해 시각적인 잡음을 줄여라
본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 03. Functions”을 읽고 정리한 내용입니다. 위치 기반 인자 (positional argument) - *args 마지막 위치 인자 이름 앞에 *를 붙이면 그 인자는 가변 위치 기반 인자가 되며, 그 이후의 모든 위치 기반 인...
[Better Way #21] 변수 영역과 클로저의 상호작용 방식을 이해하라
본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 03. Functions”을 읽고 정리한 내용입니다. 예시 코드를 통해 알아보는 파이썬의 특성 def sort_priority(values, group): """group에 속하는 숫자에는 우선순위를 부여하여 정렬하는 함수""" def...
[Better Way #20] None을 반환하기보다는 예외를 발생시켜라
본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 03. Functions”을 읽고 정리한 내용입니다. 파이썬에서는 None이 False, 0, "" 등으로 잘못 해석될 수 있다. 따라서 특별한 의미를 표시하는 None을 반환하는 함수를 사용하면 조건문에서 False로 평가될 수 있으므로 실수하...
[Better Way #19] 함수가 여러 값을 반환하는 경우 절대로 네 값 이상을 언패킹하지 말라
본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 03. Functions”을 읽고 정리한 내용입니다. 함수가 여러 값을 반환하거나 언패킹할 때 값이나 변수를 네 개 이상 사용하면 안 된다. (세 개까지만!) 더 많은 값을 언패킹해야 한다면 다음의 방법을 사용한다. 경량 ...
[Better Way #18] __missing__을 사용해 키에 따라 다른 디폴트 값을 생성하는 방법을 알아두라
본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 02. List and Dictionary”을 읽고 정리한 내용입니다. setdefault와 defaultdict의 한계점 다음의 경우에는 setdefault 메서드를 사용하지 않아야 한다. 키 값의 존재 여부와 ...
[Better Way #17] 내부 상태에서 원소가 없는 경우를 처리할 때는 setdefault 보다 defaultdict를 사용하라
본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 02. List and Dictionary”을 읽고 정리한 내용입니다. collections 내장 모듈에 있는 defaultdict 클래스는 키가 없을 때 자동으로 디폴트 값을 저장해 딕셔너리를 다룰 때 키가 없는 경우를 쉽게 처리할 수...
[Better Way #16] in을 사용하고 딕셔너리 키가 없을 때 KeyError를 처리하기보다는 get을 사용하라
본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 02. List and Dictionary”을 읽고 정리한 내용입니다. 딕셔너리 키가 없는 경우를 처리하는 방법 if 문과 in을 사용하는 방법 if key in counters: count = counters[ke...
[Better Way #15] 딕셔너리 삽입 순서에 의존할 때는 조심하라
본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 02. List and Dictionary”을 읽고 정리한 내용입니다. 파이썬의 dict 인스턴스 파이썬 3.5 이전: 딕셔너리에 대해 이터레이션 수행 시, 그 순서는 원소가 삽입된 순서와 일치하지 않았다. 파이썬 3.6 이후: 딕셔너리가 ...
[Better Way #14] 복잡한 기준을 사용해 정렬할 때는 key 파라미터를 사용하라
본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 02. List and Dictionary”을 읽고 정리한 내용입니다. list 내장 타입 sort 메서드는 자연스러운 순서를 사용해 오름차순으로 정렬한다. → 거의 대부분의 내장 타입(문자열, 부동 소수점 수 등)에 대해 잘 작동한다. ...