
223
5
장
데이터 클래스 빌더
5
.
3
고전적인 명명된 튜플
명명된 튜플 (
collections.namedtuple
)은 필드명, 클래스명 및 보기 좋게 출력해 주는
__
repr__( )
으로 개선된
tuple
서브클래스를 만드는 팩토리이다.
namedtuple
로 만들어진 클래
스는 튜플이 필요한 곳이면 어디든 사용할 수 있다. 실제로 튜플을 반환하는 데 쓰는 파이썬 표
준 라이브러리의 여러 함수는 이제 편의상 명명된 튜플을 반환한다. 사용자 코드는 예전 그대로 사
용할 수 있다.
TIP
namedtuple
로 생성된 클래스의 인스턴스가 사용하는 메모리양은 튜플과 똑같다. 필드명이 클래스에
저장되기 때문이다.
[예제
5
-
4
]는 도시의 정보를 담은 명명된 튜플을 정의하는 방법을 보여 준다.
예제
5-4
명명된 튜플을 사용해 정의하기
>>> from collections import namedtuple
>>> City = namedtuple(‘City’, ‘name country population coordinates’) ❶
>>> tokyo = City(‘Tokyo’, ‘JP’, 36.933, (35.689722, 139.691667)) ❷
>>> tokyo
City(name=’Tokyo’, country=’JP’, population=36.933, coordinates=(35.689722, ...