콘텐츠로 건너뛰기

Python 선택 매개변수 사용하기

[

Python 선택적 매개변수 (Optional Params) 사용하여 함수 정의하기

파이썬에서 함수를 정의할 때 선택적 매개변수를 사용하는 방법을 살펴보겠습니다. 선택적 매개변수를 사용하여 정의하는 함수는 더욱 강력하고 유연한 기능을 갖출 수 있습니다.

파이썬 함수를 재사용 가능한 코드로 작성하기

함수는 다른 프로그램이나 다른 함수 내에서 실행되는 작은 프로그램으로 생각할 수 있습니다. 주 프로그램은 이 작은 프로그램을 호출하고 필요한 정보를 전달합니다. 함수는 모든 동작이 완료되면 주 프로그램으로 일부 데이터를 전송할 수 있습니다.

함수의 주요 목적은 필요한 경우 다른 입력을 사용하여 코드를 재사용할 수 있게 해줍니다.

함수를 사용하면 파이썬 언어의 어휘를 확장할 수 있습니다. 이를 통해 문제의 해결 방법을 더 명확하고 간결하게 표현할 수 있습니다.

파이썬에서는 어휘 관습에 따라 함수 이름을 밑줄(_)로 구분된 단어로 작성하는 것이 좋습니다. 예를 들어 do_something()과 같이 소문자로 함수 이름을 작성하는 것이 좋습니다. 이러한 관습은 파이썬의 스타일 가이드인 PEP 8에서 설명되어 있습니다. 함수를 호출할 때는 함수 이름 뒤에 괄호를 추가해야 합니다. 함수는 작업을 나타내므로 함수 이름을 동사로 시작하는 것이 가독성있는 코드를 작성하는 좋은 관습입니다.

입력 매개변수가 없는 함수 정의하기

이 튜토리얼에서는 마트에 가기 전에 쇼핑 목록을 작성하고 유지하는 기본 프로그램의 예제를 사용합니다. 쇼핑 목록을 작성하려면 다음과 같이 시작합니다:

shopping_list = {
"Bread": 1,
"Milk": 2,
"Chocolate": 1,
"Butter": 1,
"Coffee": 1,
}

필수 입력 인수를 사용하여 함수 정의하기

파이썬에서 함수를 정의할 때 필요한 인수를 지정할 수도 있습니다. 필수 입력 인수는 함수를 호출할 때 반드시 제공해야 하는 인수입니다. 필수 입력 인수는 함수의 정의에서 매개변수로 지정됩니다.

예를 들어 쇼핑 목록을 출력하는 함수를 작성해 보겠습니다:

def print_shopping_list(items):
print("Shopping List:")
for item in items:
print(item + ": " + str(items[item]))
print_shopping_list(shopping_list)

위 예제에서는 items라는 이름의 매개변수를 갖는 print_shopping_list 함수를 정의합니다. items 매개변수는 shopping_list 사전을 인수로 전달받습니다. 함수 내부에서는 items 사전을 반복하여 각 항목과 해당 개수를 출력합니다.

이제 print_shopping_list(shopping_list)과 같이 함수를 호출하여 쇼핑 목록을 출력할 수 있습니다. 함수는 주어진 쇼핑 목록을 받아 출력합니다.

선택적 매개변수와 기본 매개변수 값 사용하기

선택적 매개변수를 사용하여 함수를 정의할 수도 있습니다. 선택적 매개변수는 필요에 따라 사용할 수 있는 변수입니다. 선택적 매개변수는 함수의 정의에서 매개변수와 해당 기본 값을 함께 지정하여 정의합니다.

예를 들어, 쇼핑 목록을 출력하되, 선택적으로 title이라는 매개변수를 받아 출력 결과의 제목을 변경할 수 있는 함수를 작성해 보겠습니다:

def print_shopping_list(items, title="Shopping List"):
print(title + ":")
for item in items:
print(item + ": " + str(items[item]))
print_shopping_list(shopping_list)
print_shopping_list(shopping_list, "My Shopping List")

위 예제에서는 items라는 필수 매개변수와 선택적으로 지정할 수 있는 title 매개변수를 갖는 함수를 정의합니다. title 매개변수에는 기본 값으로 “Shopping List”를 설정합니다. 함수 내부에서는 titleitems를 출력합니다.

이제 print_shopping_list(shopping_list)print_shopping_list(shopping_list, "My Shopping List")와 같이 함수를 호출하여 쇼핑 목록을 출력할 수 있습니다. 첫 번째 호출에서는 기본 제목(“Shopping List”)을 출력하고, 두 번째 호출에서는 “My Shopping List”라는 제목을 출력합니다.

예제: 식료품 목록 필터링하기

이 예제에서는 선택적 매개변수를 사용하여 식료품 목록을 필터링하는 함수를 작성해 보겠습니다. 함수는 기본적으로 모든 식료품을 출력하지만, 선택적으로 카테고리 또는 필터 조건을 제공하여 출력 결과를 제한할 수 있습니다.

def filter_shopping_list(items, category=None):
filtered_items = {}
for item in items:
if category is None or items[item]["category"] == category:
filtered_items[item] = items[item]
return filtered_items
groceries = {
"Bread": {"category": "Food", "quantity": 1},
"Milk": {"category": "Beverage", "quantity": 2},
"Chocolate": {"category": "Food", "quantity": 3},
"Butter": {"category": "Food", "quantity": 1},
"Coffee": {"category": "Beverage", "quantity": 1},
}
print(filter_shopping_list(groceries))
print(filter_shopping_list(groceries, "Food"))

위 예제에서는 items와 선택적으로 제공할 수 있는 category라는 매개변수를 갖는 filter_shopping_list 함수를 정의합니다. 함수는 items 사전과 선택적으로 카테고리를 인수로 받습니다. 함수 내부에서는 카테고리가 제공되지 않았거나 데이터의 카테고리가 지정된 카테고리와 일치하는 항목들로 새로운 사전을 작성합니다. 작성된 사전을 반환합니다.

이제 filter_shopping_list(groceries)filter_shopping_list(groceries, "Food")와 같이 함수를 호출하여 식료품 목록을 필터링할 수 있습니다. 첫 번째 호출에서는 모든 항목을 출력하고, 두 번째 호출에서는 “Food” 카테고리에 속하는 항목만 출력합니다.

결론

이 튜토리얼에서는 파이썬 함수에서 선택적 매개변수를 사용하는 법을 살펴보았습니다. 선택적 매개변수를 이용하면 함수를 더욱 강력하고 유연하게 정의할 수 있습니다. 필수 인수와 선택적 매개변수, 기본 매개변수 값의 차이를 이해하고, 사용법을 익혀둘 것을 권장합니다. 이를 통해 더 재사용 가능하고 효과적인 파이썬 코드를 작성할 수 있습니다.