더북(TheBook)

작은 양의 정보를 전달하기엔 코드가 많다. 파이썬에는 같은 일을 더 간결하게 할 수 있는 방법을 제공한다.

from collections import namedtuple

Point = namedtuple('Point', ['x', 'y'])

첫 번째 인수는 생성할 클래스의 이름이다. 두 번째 인수는 Point 객체가 갖게 될 속성들의 리스트를 문자열로 나타낸 것이다. namedtuple의 반환값은 클래스 객체다.

>>> Point

<class '_ _main_ _.Point'>

Point에는 _ _init_ __ _str_ _ 같은 메서드가 자동으로 제공되므로 이들 함수를 직접 작성하지 않아도 된다.

Point 객체는 Point 클래스를 함수로 사용해 생성한다.

>>> p = Point(1, 2)

>>> p

Point(x=1, y=2)

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.