번역: 파이썬 - 기본 인수
안녕하세요, 파이썬 프로그래머를 꿈꾸는 여러분! 오늘은 파이썬의 기본 인수에 대해 탐험해볼 거예요. 여러분의 친절한 이웃 컴퓨터 과학 교사로서, 여러분을 이 여정을 안내해 줄 수 있어 기쁩니다. 그럼, 좋아하는 음료를 준비하고 편하게 앉아서, 함께 파이썬 모험에 떠나보죠!
기본 인수란 무엇인가요?
자세히 살펴보기 전에, 기본적인 것부터 시작해볼게요. 기본 인수는 파이썬에서 함수 파라미터에 사전 설정된 값을 정의할 수 있는 편리한 기능입니다. 이 값들은 함수를 호출할 때 특정 값을 제공하지 않으면 사용됩니다.
기본 인수를 안전的网络라고 생각해볼 수 있어요. 여러분이 값을 지정하지 않았을 때도, 함수가 여전히 원활하게 실행되도록 보장해줍니다. 마치 친구가 항상 피크닉에 추가小吃를 가져오는 것처럼 – 항상 필요하지 않지만, 필요할 때마다 가지고 있어서 좋은 것 같죠!
기본 인수를 왜 사용하나요?
- 코드가 더 유연해집니다.
- 제공해야 할 인수의 수를 줄입니다.
- 함수에 새로운 파라미터를 추가할 때 과거 호환성을 유지하는 데 도움이 됩니다.
이제 실제로 어떻게 작동하는지 살펴보죠!
기본 인수 예제
간단한 예제부터 시작해볼게요. 사람들에게 인사를 건다는 함수를 만들어보겠습니다:
def greet(name, greeting="안녕"):
return f"{greeting}, {name}!"
# 함수 사용
print(greet("앨리스"))
print(greet("밥", "하이"))
출력:
안녕, 앨리스!
하이, 밥!
이 예제에서 greeting
은 우리의 기본 인수입니다. 인사를 지정하지 않으면, 함수는 기본적으로 "안녕"을 사용합니다. 자세히 설명해보죠:
-
greet
함수를 두 개의 파라미터로 정의했어요:name
과greeting
. -
greeting
의 기본 값은 "안녕". -
greet("앨리스")
를 호출할 때, 우리는 tylkoname
을 제공합니다. 함수는 기본 "안녕"을 인사로 사용합니다. -
greet("밥", "하이")
를 호출할 때, 우리는name
과greeting
을 모두 제공하여, 함수는 "하이"를 기본값 대신 사용합니다.
예제: 키워드 인수 없이 함수 호출
이제 약간 더 복잡한 예제를 살펴보죠. 쇼핑 카트에 있는 아이템들의 총 비용을 계산하는 함수를 만들어보겠습니다:
def calculate_total(items, tax_rate=0.08, discount=0):
subtotal = sum(items)
total = subtotal * (1 + tax_rate) - discount
return round(total, 2)
# 함수 사용
cart1 = [10, 20, 30]
print(calculate_total(cart1))
print(calculate_total(cart1, 0.10))
print(calculate_total(cart1, 0.10, 5))
출력:
64.80
66.00
61.00
이를 자세히 설명해보죠:
-
calculate_total
함수는 세 개의 파라미터를 가집니다:items
(필수),tax_rate
(기본 0.08),discount
(기본 0). - 첫 번째 호출에서는 우리는 tylko
items
을 제공합니다. 함수는 기본 세율과 할인이 없음. - 두 번째 호출에서는
items
과 사용자 정의 세율 0.10을 제공합니다. 할인은 여전히 0. - 세 번째 호출에서는 모든 세 가지 인수를 제공합니다:
items
, 세율, 할인 5.
기억해요, 키워드 인수 없이 함수를 호출할 때는 순서가 중요합니다! 파이썬은 함수가 정의된 순서대로 파라미터에 값을 할당합니다.
가변 객체를 기본 인수로 사용하기
이제 좀 더 까다로운 부분을 살펴보죠. 가변 객체(예: 리스트나 딕셔너리)를 기본 인수로 사용하면 예상치 못한 동작이 발생할 수 있어요. 이렇게 하는 것을 보여드리죠:
def add_item(item, shopping_list=[]):
shopping_list.append(item)
return shopping_list
print(add_item("사과"))
print(add_item("바나나"))
print(add_item("채리"))
출력:
['사과']
['사과', '바나나']
['사과', '바나나', '채리']
놀라셨죠? 리스트가 각 호출마다 자라가네요. 이는 함수가 정의될 때 기본 리스트가 오직 한 번만 생성되기 때문입니다, 함수가 호출될 때마다는 아니라요.
이를 피하려면 None
을 기본으로 사용하고, 함수 내에서 새로운 리스트를 만들 수 있습니다:
def add_item(item, shopping_list=None):
if shopping_list is None:
shopping_list = []
shopping_list.append(item)
return shopping_list
print(add_item("사과"))
print(add_item("바나나"))
print(add_item("채리"))
출력:
['사과']
['바나나']
['채리']
많이 나아졌죠! 이제 각 호출마다 새로운 리스트가 생성되어야 합니다.
파이썬 기본 인수 요약
이제 배운 것을 간단한 표로 정리해보죠:
개념 | 설명 | 예제 |
---|---|---|
기본 인수 | 파라미터에 기본 값을 제공합니다 | def greet(name, greeting="안녕"): |
여러 기본 인수 | 함수는 여러 기본 인수를 가질 수 있습니다 | def calculate_total(items, tax_rate=0.08, discount=0): |
인수 순서 | 기본 인수보다 먼저 필수 인수를 정의해야 합니다 | def func(required, optional=default): |
가변 기본 인수 | 가변 객체를 기본 인수로 사용하지 마세요 |
None 을 기본으로하고 함수 내에서 객체를 생성하세요 |
키워드 인수 | 함수를 임의의 순서로 이름付き 인수로 호출할 수 있습니다 | calculate_total(items=[10, 20], discount=5) |
그리고 여기까지! 여러분은 이제 파이썬의 기본 인수를 통해 파이썬 실력을 한 단계 업했습니다. 이러한 강력한 도구를 현명하게 사용하세요. 코드가 더 유연하고 쉽게 사용할 수 있게 하지만, 가변 기본 값에 주의하세요!
계속 연습하고, 호기심을 지켜요, 즐거운 코딩하세요! 언제가 될지 모르겠지만, 여러분도 파이썬을 전문가처럼 쓸 수 있을 거예요. 다음에 뵙겠습니다, 여러분의 친절한 이웃 CS 교사로서 안녕히 계세요!
Credits: Image by storyset