새소식

반응형
개발 (Development)/┣Python

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

  • -
반응형

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

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

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

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}
반응형

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

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