파이썬을 파이썬답게

클래스 인스턴스 출력하기

  • 다른 언어에서는 클래스 바깥에 출력 함수를 만들거나, print 문 안에서 format을 지정한다.
class Coord(object):
    def __init__ (self, x, y):
        self.x, self.y = x, y

point = Coord(1, 2)
print( '({}, {})'.format(point.x, point.y) ) 

# 또는
def print_coord(coord):
    print( '({}, {})'.format(coord.x, coord.y) )
print_coord(point)
  • 파이썬에서는 __str__ 메소드를 사용하면 class 내부에서 출력 format을 지정할 수 있다.
class Coord(object):
    def __init__ (self, x, y):
        self.x, self.y = x, y
    def __str__ (self):
        return '({}, {})'.format(self.x, self.y)

print(Coord(1, 2))
# (1, 2)