일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- index
- GitHub
- ipad
- keras
- 삼성소프트웨어멤버십
- GT-S80
- RNN
- pycharm
- Lotto
- imread
- synology
- SciPy
- E-P1
- LSTM
- Splunk
- mean
- SPL
- install
- Numpy
- DFS
- 알고리즘
- javascript
- pip
- CNN
- pandas
- dataframe
- Series
- mariadb
- Python
- Button
Archives
- Today
- Total
잠토의 잠망경
[python] namedtuple 본문
기본 활용
클래스 같은 tuple형태이다.
tuple은 한번 적용하면 변경 불가한 const 같은 것으로
가독성을 위하여 namedtuple을 사용하는 것이다.
code
from collections import namedtuple
CTest = namedtuple("CTest", "row col num num1")
test01 = CTest(1,2,3,4)
print('row: {0}, col: {1}, num: {2}, num1: {3}'.format(test01.row, test01.col, test01.num, test01.num1))
# tuple 이기때문에 변경은 안된다.
test01.row = 10
print('row: {0}, col: {1}, num: {2}, num1: {3}'.format(test01.row, test01.col, test01.num, test01.num1))
결과
Traceback (most recent call last):
File "C:/Users/mellowlee/Project_Deep_Learning_And_The_Game_Of_Go/sample/sample_namedtuple.py", line 14, in <module>
test01.row = 10
AttributeError: can't set attribute
row: 1, col: 2, num: 3, num1: 4
class에서 활용
class에 해당 내용을 적용한다면 다음과 같다.
code
from collections import namedtuple
class Point(namedtuple('Point', 'row col')):
def neighbors(self):
return[
Point(self.row-1, self.col),
Point(self.row, self.col-1)
]
point = Point(10, 11)
for item in point.neighbors():
print('row:{0}, col:{1}'.format(item.row, item.col))
결과
row: 1, col: 2, num: 3, num1: 4
row:9, col:11
row:10, col:10
Comments