더북(TheBook)

작업을 많이 하지 않고 다른 메서드를 사용하는 이와 같은 메서드를 베니어(veneer)라고 한다. 베니어는 목공에서 빌려온 은유인데, 베니어가 저렴한 목재의 표면에 좋은 품질의 목재를 얇게 층(layer)으로 붙여서 외관을 개선한 것이기 때문이다.

이 예에서 add_card는 리스트 연산을 덱에 적합한 용어로 표현한 (thin) 메서드다. 씬 메서드는 구현 결과물의 외관이나 인터페이스를 개선한다.

Deck 클래스의 shuffle 메서드도 random 모듈의 shuffle 함수를 사용해서 작성할 수 있으며, 이 또한 씬 메서드다.

# class Deck: 정의

 

def shuffle(self):

random.shuffle(self.cards)

random을 임포트하는 것을 잊지 말자.

연습삼아 리스트 메서드 sort를 사용해 Deck의 카드를 정렬하는 sort 메서드를 Deck 클래스에 작성해보자. sort는 정렬 순서를 정하기 위해 우리가 정의한 _ _lt_ _ 메서드를 사용한다.

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