named tuple
collections 모듈
namedtuple은 자료형 이름과 요소의 이름을 지정하면 클래스를 생성해줍니다.
자료형 이름 - 문자열
요소의 이름 - 문자열 리스트
클래스 = collections.namedtuple( '자료형이름' , [ '요소이름1' , '요소이름2' ] )
namedtuple로 생성한 클래스는 값을 넣어서 인스턴스를 만들 수 있으며
인스턴스.요소이름 또는 인스턴스[인덱스] 형식으로 요소에 접근할 수 있습니다.
인스턴스 = 클래스(값1, 값2)
인스턴스 = 클래스(요소이름1=값1, 요소이름2=값2)
인스턴스.요소이름1
인스턴스[인덱스]
다음은 namedtuple을 사용하여 점을 표현한 뒤 두 점의 거리를 구합니다.
two_point_namedtuple.py
import math
import collections
Point2D = collections.namedtuple('Point2D', ['x', 'y']) # namedtuple로 점 표현
p1 = Point2D(x=30, y=20) # 점1
p2 = Point2D(x=60, y=50) # 점2
a = p1.x - p2.x # 선 a의 길이
b = p1.y - p2.y # 선 b의 길이
c = math.sqrt((a * a) + (b * b))
print(c) # 42.42640687119285
사각형 넓이구하기
import collections
Rectangle = collections.namedtuple('Rectangle',['x1','x2','y1','y2'])
rect = Rectangle(x1=20, y1=20, x2=40, y2=30)
width = abs(rect.x2 - rect.x1)
height = abs(rect.y2 - rect.y1)
area = width * height
print(area)
'BASIC' 카테고리의 다른 글
Exception (0) | 2023.11.19 |
---|---|
덕타이핑 / 믹스인 (1) | 2023.11.19 |
두점 사이 거리구하기 (0) | 2023.11.17 |
self (0) | 2023.11.17 |
추상 클래스 (0) | 2023.11.17 |
댓글