십대를 위한 코딩/십대를 위한 파이썬

[파이썬] 매개변수와 전달인자의 차이

forSilver 2025. 2. 6. 07:14
반응형

📌 매개변수(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 함수 활용이 훨씬 쉬워집니다! 💡