0. Introduction
- 파이썬에서 모든 객체는 데이터에 대한 추상화로 표현될 수 있다.
- 파이썬에서는
namedtuple
외에도 많은 Container datatypes가 있다. - 이 종류들은 Collections library에서 찾을 수 있다.
- 클래스를 사용하기보다 튜플 활용을 공식 레퍼런스에서 추천하고 있다.
1. Namedtuple이란??
namedtuple(typename: str, field_names: str)
- tuple의 기본 성질인
immutable
을 가지고 있으며, 다양한 선언법을 지원한다. - Dictionary Key와 같이 사용되기 때문에, key 값을 통해서 access할 수 있다.
- 일반 class 형태보다 적은 메모리를 사용한다.
2. 실습 예제
- 3차원 좌표 사이의 거리를 구하는 예제를 통해서 namedtuple에 대해 알아보자.
2.1 namedtuple 없이 구하기
- namedtuple 없이 거리 구하기
|
|
2.2 namedtuple로 구해보기
- namedtuple을 사용하여 거리를 구해보자.
|
|
- 이처럼 namedtuple을 사용하면 dictionary처럼 key 값이 생기기 때문에, index로 직접 접근하지 않아 오류를 낼 가능성이 낮다.
2.3 namedtuple의 다양한 선언법
namedtuple은 2개의 위치인자를 취한다.
- 다음으로 namedtuple의 다양한 선언법에 대해 알아보자.
|
|
- rename을 입력하지 않으면
rename = False
가 default다.
2.4 namedtuple의 다양한 객체 생성법
- 객체 생성 방법도 다양하다.
- 이에 대해서도 알아보자.
|
|
2.5 namedtuple 메소드
namedtuple에 사용되는 메소드를 몇 가지 알아보자.
_make()
: list를 namedtuple로 만드는 함수_fields()
: field_name 조회 함수_asdict()
: namedtuple을 dictionary로 전환하는 함수
|
|