본문 바로가기
Programming/Python

[Python] 키워드인수와 딕셔너리 언패킹 (**)

by 느리게 걷는 즐거움 2022. 12. 10.
반응형

딕셔너리 언패킹

## 키워드 인수와 딕셔너리 언패킹
def product_info(name:str, height:int, width:int, weight:int, price:int):
  print(f"Product[{name}] is ({height}x{width}), {weight}kg and the pricce of {price}")

product_info(**{'name':"TV", 'height':300, 'width':300, 'weight':5, 'price':1000000})

-----------------------
Product[TV] is (300x300), 5kg and the pricce of 1000000

파이썬으로 딕셔너리 정보를 키워드 인수로 전달할 때는 **을 사용하여 키워드이 맞는 값을 전달한다. 딕셔너리의 key값이 전달하는 함수의 키워드 인수와 동일해야 한다.

## 키워드 인수와 딕셔너리 언패킹
def product_info(name:str, height:int, width:int, weight:int, price:int):
  print(f"Product[{name}] is ({height}x{width}), {weight}kg and the pricce of {price}")

product_info(**{'name':"TV", 'height':300, 'width':300, 'weight':5, 'price':1000000})


def product_info2(name:str, size:dict):
  print(f"product {name} is {size['height']} x {size['width']}")

product_info2(**{'name':'Car', 'size': {'height':1000, 'width': 1000}})

------------------
Product[TV] is (300x300), 5kg and the pricce of 1000000
product Car is 1000 x 1000

딕셔러니 언패킹 시 딕셔너리 내부에 딕셔너리를 포함하는 경우 함수의 인자는 딕셔너리를 지시하는 key값이 인자로 사용된다. size의 경우 size 딕셔너리 내부에 다시 딕셔너리를 포함하고 있다.

따라서 product_info2()함수는 size KEY값을 이용하여 딕셔너리를 전달받아 내부의 height와 width 키를 사용할 수 있다. 

반응형