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