반응형
📌 매개변수(Parameters)와 전달인자(Arguments)의 차이
Python에서 함수를 사용할 때 매개변수(Parameter)와 전달인자(Argument)는 서로 다른 개념입니다.
둘은 종종 혼용되지만, 정확한 의미를 이해하면 함수의 동작을 더 명확하게 이해할 수 있습니다.
🔹 1. 매개변수(Parameters)
- 함수를 정의할 때 사용되는 변수.
- 함수 내부에서 전달된 값을 받을 변수의 역할을 함.
- 함수의 입력값을 지정하는 형식적인 변수.
✅ 예제
def greet(name): # name은 매개변수 (Parameter)
print(f"안녕하세요, {name}님!")
📌 설명
name
은 함수가 호출될 때 전달될 값을 받기 위한 변수입니다.
🔹 2. 전달인자(Arguments)
- 함수를 호출할 때 실제로 전달하는 값.
- 매개변수에 들어가는 실제 데이터.
- 매개변수의 자리에 전달되어 함수가 동작하도록 함.
✅ 예제
greet("철수") # "철수"는 전달인자 (Argument)
📌 설명
"철수"
는name
매개변수에 전달되는 전달인자(Argument)입니다.
🏆 매개변수와 전달인자의 비교
구분 | 매개변수 (Parameter) | 전달인자 (Argument) |
---|---|---|
정의 위치 | 함수 정의 시 사용 | 함수 호출 시 전달 |
역할 | 값을 받을 변수 | 실제 전달하는 값 |
예제 코드 | def greet(name): |
greet("철수") |
예제 값 | name |
"철수" |
🔹 매개변수와 전달인자의 예제
✅ 예제 1: 두 개의 매개변수를 받는 함수
def add(a, b): # a, b는 매개변수
return a + b
result = add(3, 5) # 3, 5는 전달인자
print(result) # 출력: 8
📌 설명
a, b
는 매개변수(Parameter).3, 5
는 전달인자(Argument).
🔹 매개변수의 다양한 형태
1️⃣ 기본값을 가진 매개변수 (Default Parameter)
전달인자가 없을 경우 기본값을 사용할 수 있음.
def greet(name="친구"):
print(f"안녕하세요, {name}님!")
greet() # 출력: 안녕하세요, 친구님! (전달인자가 없을 경우 기본값 사용)
greet("영희") # 출력: 안녕하세요, 영희님!
➡️ name="친구"
에서 "친구"
는 기본값.
2️⃣ 키워드 인자 (Keyword Arguments)
매개변수 이름을 명시적으로 지정하여 전달할 수 있음.
def introduce(name, age):
print(f"이름: {name}, 나이: {age}")
introduce(age=25, name="지훈") # 키워드 인자 사용 (순서 무관)
➡️ 전달 순서와 관계없이 introduce(age=25, name="지훈")
처럼 호출 가능.
3️⃣ 가변 인자 (args, *kwargs)
🔹 *args
: 여러 개의 전달인자를 받을 때 사용
def add_all(*numbers): # 가변 인자
return sum(numbers)
print(add_all(1, 2, 3, 4, 5)) # 출력: 15
➡️ *args
를 사용하면 여러 개의 전달인자를 튜플로 받아 처리 가능.
🔹 **kwargs
: 키워드 전달인자를 받을 때 사용
def introduce(**info):
for key, value in info.items():
print(f"{key}: {value}")
introduce(name="지훈", age=25, city="서울")
➡️ **kwargs
를 사용하면 딕셔너리 형태로 전달인자를 받을 수 있음.
🎯 정리
- 매개변수(Parameter) : 함수에서 전달인자를 받는 변수.
- 전달인자(Argument) : 함수 호출 시 실제 전달하는 값.
- 매개변수는 함수 정의 시, 전달인자는 함수 호출 시 사용.
- 다양한 매개변수 형태(
기본값
,키워드 인자
,가변 인자
)를 활용하면 유연한 함수 설계 가능.
🚀 이해하면 Python 함수 활용이 훨씬 쉬워집니다! 💡
'십대를 위한 코딩 > 십대를 위한 파이썬' 카테고리의 다른 글
[파이썬] range() 함수 (0) | 2025.02.10 |
---|---|
[파이썬] default 인수와 keyword 인수 정리 (2) | 2025.02.07 |
[파이썬] 함수의 유형 (2) | 2025.02.05 |
키워드와 예약어 (0) | 2025.02.03 |
파이썬 식별자에서 숫자만 사용하는 것은? (1) | 2025.02.02 |