Home [Better Way #23] 키워드 인자로 선택적인 기능을 제공하라
Post
Cancel

[Better Way #23] 키워드 인자로 선택적인 기능을 제공하라

본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”“Chapter 03. Functions”을 읽고 정리한 내용입니다.


키워드 인자

  • 키워드 인자를 넘기는 순서는 상관 없다.
  • 필요에 따라 키워드와 위치 기반 인자를 섞어서 사용할 수 있다.
  • 위치 기반 인자를 지정하려면 키워드 인자보다 앞에 지정해야 한다.
  • 각 인자는 단 한 번만 지정해야 한다.
  • ** 연산자를 통해 딕셔너리에 들어있는 값을 해당 값에 대응하는 키를 키워드로 사용하면서 함수에 전달할 수 있다.
    • 중복되는 인자가 없다면 위치 인자나 키워드 인자와 섞어서 사용할 수도 있다.
    • 겹치는 키가 없다면 ** 연산자 자체를 여러 번 사용할 수도 있다.
  • 아무 키워드 인자나 받는 함수를 만들고 싶다면, 모든 키워드 인자를 dict에 모아주는 **kwargs 파라미터를 사용한다.


키워드 인자의 이점

  1. 함수 호출의 의미와 여러 인자의 목적을 명확히 알려줄 수 있다.
  2. 함수 정의에서 디폴트 값을 지정할 수 있다.
  3. 어떤 함수를 사용하던 기존 호출자에게는 하위 호환성을 제공하면서, 마이그레이션 없이 함수 파라미터를 확장할 수 있는 방법을 제공한다.

선택적인 인자를 지정할 때는 항상 키워드 인자를 사용하고 위치 기반 인자를 절대 사용하지 않는다.

This post is licensed under CC BY 4.0 by the author.

[Better Way #22] 가변 위치 인자를 사용해 시각적인 잡음을 줄여라

[Better Way #24] None과 독스트링을 사용해 동적인 디폴트 인자를 지정하라