새소식

반응형
개발 (Development)/┣Python

*(star), **(double star) 파라메터는 뭐하는데 쓰는 걸까?

  • -
반응형

1. Introduction

파이썬 코드를 보다보면 함수의 인수로 *, **가 있는 것을 볼 수 있다.

이것들은 이 메서드에 인수를 몇개를 보낼지 모르겠을 때 쓰는 것이다.

메서드에 일단 인수를 갖다 박으면, *는 튜플로 **는 딕셔너리의 형식으로 묶어서 전달한다.

2. Practice

def star(*a):
    print(a)

def double_star(**b):
    print(b)

star(1, 2, 3)
double_star(a=1, b=2, c=3)

<< (1, 2, 3)
<< {'a': 1, 'b': 2, 'c': 3}

섞어서 쓸 수도 있다.

def star_mix(*a, **b):
    print(a)
    print(b)
    
star_mix(1, 2)
print('--------------')
star_mix(a=1, b=2)
print('--------------')
star_mix(1, 2, a=1, b=2)


<< (1, 2)
<< {}
<< --------------
<< ()
<< {'a': 1, 'b': 2}
<< --------------
<< (1, 2)
<< {'a': 1, 'b': 2}
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.