Python] Named Tuple

1
2
3
4
5
6
7
8
9
from collections import namedtuple

Test = namedtuple('Test', ['ItsOne', 'ItsTwo'])
t = Test(3, 7)

print(t) #Test(ItsOne=3, ItsTwo=7)

print(t[0], t[1]) #3 7
print(t.ItsOne, t.ItsTwo) #3 7

리스트를 사용하지 않고 아래와 같이 문자열에 담아서 전달해도 적용된다.

1
Test = namedtuple('Test', 'ItsOne ItsTwo')
1
2
3
4
5
t[0] = 1

Traceback (most recent call last):
t[0] = 1
TypeError: 'Test' object does not support item assignment

튜플과 동일하게 값을 저장된 값을 수정할 수 없다.