출처 : 윤성우의 열혈 파이썬 : 중급
12. named tuple
named tuple의 이해와 작성
tri_one = (12, 15)
print(tri_one) # (12, 15)
from collections import namedtuple
Tri = namedtuple('Triangle', ['bottom', 'height'])
t = Tri(3, 7) # named tuple 객체 생성
print(t[0], t[1]) # 일반 tuple과 동일한 방법으로 접근 가능
print(t, bottom, t.height) # 이름으로도 접근 가능
t[0] = 15 # error
- 튜플 성격을 갖는 클래스
- 기본 골격은 튜플이나 일반 튜플과 달리 위치별로 이름을 갖는다는 특징
- 객체 이름은 객체 생성에 사용되지 않는다
- 이름은 오류가 발생했을 때 오류의 원인을 찾는 데 도움이 된다
- 튜플과 마찬가지로 저장된 값을 수정하지 못한다
Tri = namedtuple('Tri', 'bottom height')
- 변수와 클래스의 이름을 같게 하여 불필요한 혼동을 줄일 수 있다
- 네이드 튜플의 이름을 지정할 때 리스트에 담아서 전달하지 않고 하나의 문자열에 담아서 저장해도 된다
named tuple unpacking
t = Tri(12, 79)
a, b = t
print(a, b) # 12, 79
def show(n1, n2):
print(n1, n2)
t = Tri(3, 8)
show(*t) # 3, 8
'프로그래머 > Python' 카테고리의 다른 글
[윤성우의 열혈 파이썬 중급편] 14. dict의 루핑 기술과 컴프리헨션 (0) | 2020.12.24 |
---|---|
[윤성우의 열혈 파이썬 중급편] 13. dict의 생성과 zip (0) | 2020.12.24 |
[윤성우의 열혈 파이썬 중급편] 11. 튜플의 패킹과 언패킹 (0) | 2020.12.15 |
[윤성우의 열혈 파이썬 중급편] 10. generator 표현식 (0) | 2020.12.15 |
[윤성우의 열혈 파이썬 중급편] 09. generator 함수 (0) | 2020.12.15 |