데이터과학 삼학년

* VS ** 차이 (리스트 or 딕셔너리 풀어낼때) 본문

Python

* VS ** 차이 (리스트 or 딕셔너리 풀어낼때)

Dan-k 2023. 5. 5. 17:26
반응형

***는 파이썬에서 여러 인자를 처리할 때 사용하는 연산자

  • *를 사용하면 리스트, 튜플, 세트 등의 iterable한 객체를 풀어서 함수의 인자로 전달 -> 이때 각 요소들이 함수의 인자로 전달
def foo(a, b, c):
    print(a, b, c)

lst = [1, 2, 3]
foo(*lst)  # foo(1, 2, 3)과 동일
  • **를 사용하면 딕셔너리 객체를 풀어서 함수의 인자로 전달할 수 있습니다. 이때 각 키-값 쌍이 함수의 인자로 전달
def bar(x, y, z):
    print(x, y, z)

dct = {'x': 1, 'y': 2, 'z': 3}
bar(**dct)  # bar(x=1, y=2, z=3)과 동일

따라서 ***를 이용해서 iterable한 객체나 딕셔너리 객체를 풀어서 함수의 인자로 전달할 수 있음

함수를 호출할 때 인자의 개수를 동적으로 결정할 수 있는 장점

728x90
반응형
LIST
Comments