파이썬 초보자를 위한 args kwargs 완벽 가이드: 인자 매개변수 차이

args kwargs 설명 이미지

안녕하세요, 파이썬 초보 개발자 여러분! 🐍

함수를 만들다 보면 args kwargs 같은 이상한 녀석들을 마주치신 적 있으시죠? “이게 뭐지? 왜 쓰는 거지?” 하고 고개를 갸우뚱하셨다면, 오늘의 포스트는 여러분을 위한 거예요!

args와 kwargs, 그리고 인자와 매개변수의 세계로 함께 떠나볼까요? 걱정 마세요, 어렵지 않아요. 제가 쉽고 재미있게 설명해드릴게요. 이 포스트를 다 읽으시면, 여러분도 args와 kwargs를 자유자재로 다룰 수 있는 파이썬 마스터가 되실 거예요! 😎

args kwargs란 무엇일까요?

먼저 args kwargs가 뭔지 알아볼까요? 간단히 말해서, 이 둘은 함수에 여러 개의 인자를 넘겨줄 때 사용하는 특별한 문법이에요. 아래와 같이 *를 붙혀서 사용합니다.

  • *args: 여러 개의 위치 인자를 튜플로 받아요.
  • **kwargs: 여러 개의 키워드 인자를 딕셔너리로 받아요.

어렵나요? 걱정 마세요. 예시를 통해 더 자세히 알아볼게요!

args kwargs 사용 예시

*args 사용 예시

def print_args(*args):
    for arg in args:
        print(arg)

print_args('안녕', '파이썬', '세상')

코드 해설:

  1. def print_args(*args):: *args를 사용해 print_args라는 이름으로 함수를 정의해요.
  2. for arg in args:: args에 들어온 모든 인자를 순회해요.
  3. print(arg): 각 인자를 출력해요.
  4. print_args('안녕', '파이썬', '세상'): 함수를 호출하면서 여러 개의 인자를 전달해요.

이렇게 하면 ‘안녕’, ‘파이썬’, ‘세상’이 각각 새 줄에 출력돼요. 멋지죠?

args kwargs 사용 예시1 이미지

**kwargs 사용 예시

이번엔 kwargs를 써볼까요?

def print_kwargs(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_kwargs(이름="파이썬", 나이=30, 직업="프로그래머")

코드 해설:

  1. def print_kwargs(**kwargs):: **kwargs를 사용해 print_kwargs라는 이름의 함수를 정의해요.
  2. for key, value in kwargs.items():: kwargs의 모든 키-값 쌍을 순회해요.
  3. print(f"{key}: {value}"): 각 키-값 쌍을 출력해요.
  4. print_kwargs(이름="파이썬", 나이=30, 직업="프로그래머"): 키워드 인자를 사용해 함수를 호출해요.

이렇게 하면 ‘이름: 파이썬’, ‘나이: 30’, ‘직업: 프로그래머’가 각각 새 줄에 출력돼요. 정말 편리하죠?

args kwargs 사용 예시2 이미지

인자 매개변수 차이

자, 이제 인자 매개변수 차이에 대해 알아볼까요? 이 둘은 비슷해 보이지만, 실은 다른 개념이에요.

  • 매개변수(Parameter): 함수를 정의할 때 사용하는 변수예요.
  • 인자(Argument): 함수를 호출할 때 전달하는 실제 값이에요.

예를 들어볼게요. 아래는 greet라는 이름의 함수를 만들고 난 뒤 그 함수를 호출하는 예시입니다.

def greet(name):  # 여기서 name은 매개변수예요
    print(f"안녕하세요, {name}님!")

greet("파이썬")  # 여기서 "파이썬"은 인자예요

이해가 되시나요? 매개변수는 함수의 “틀”이고, 인자는 그 틀에 넣는 “실제 값”이라고 생각하시면 돼요.

args kwargs를 실제로 어떻게 활용할까요?

args와 kwargs는 정말 다양한 상황에서 유용하게 쓸 수 있어요. 예를 들어, 인자 개수가 유동적일 때 특히 빛을 발하죠.

def make_pizza(*toppings, **details):
    print(f"피자 토핑: {', '.join(toppings)}")
    for key, value in details.items():
        print(f"{key}: {value}")

make_pizza("치즈", "올리브", "피망", 크기="large", 가격=20000)

코드 해설:

  1. def make_pizza(*toppings, **details):: args와 kwargs를 동시에 사용해요.
  2. print(f"피자 토핑: {', '.join(toppings)}"): 모든 토핑을 쉼표로 구분해 출력해요.
  3. for key, value in details.items():: 추가 정보를 순회해요.
  4. print(f"{key}: {value}"): 각 추가 정보를 출력해요.
  5. make_pizza("치즈", "올리브", "피망", 크기="large", 가격=20000): 다양한 인자를 전달해 함수를 호출해요.

이렇게 하면 토핑과 추가 정보를 자유롭게 전달할 수 있어요. 정말 편리하죠?

args kwargs 사용 예시3 이미지

자, 여기까지 args kwargs, 그리고 인자 매개변수 차이에 대해 알아봤어요. 어떠세요? 생각보다 어렵지 않죠? 이제 여러분도 이 개념들을 자유자재로 활용할 수 있을 거예요.

테리 이모티콘
( 즐겁게 코딩을 합시다! )

유사한 게시물