더북(TheBook)

CONSOLE

>>> data = {"name": "Laptop", "price": 1200, "in_stock": False} --- ➊
>>> new_item = Item(**data) --- ➋
>>> print(new_item) ----------- ➌

data 딕셔너리에 새 Item 객체를 만들 때 필요한 값을 넣습니다.

Item(**data)와 같이 언패킹합니다. 언패킹(unpacking)이란 딕셔너리나 리스트 같은 자료구조에 들어 있는 값을 변수나 함수 인자로 풀어서 전달하는 것으로, 코드가 실행되면 Item 객체가 생성됩니다. PydanticItem 객체의 필드(name, price, in_stock) 값을 확인해 각각 str, int, bool 타입이 맞는지 검사합니다.

name, price, in_stock 필드 값이 모두 정의된 타입과 일치합니다. 따라서 Pydantic의 타입 검증을 통과하여 print 문을 실행한 결과, Item 객체의 내용이 출력됩니다.

그림 2-8 실행 결과