move_cards는 Hand 객체와 다뤄야 할 카드의 개수를 인수로 받는다. 이 메서드는 self와 hand를 모두 수정하며 None을 반환한다.
게임 중에는 카드를 한 손에서 다른 손으로 옮기거나 덱에 반환해야 하는 것도 있다. 이러한 작업에는 move_cards를 사용할 수 있다. self는 Deck이나 Hand, 둘 중에 하나가 될 수 있고, 이름은 hand이지만 Deck이 되는 경우도 있다.
상속 기능은 유용하다. 상속이 없다면 반복적으로 작성했어야 하는 프로그램을 상속이 있으면 더 우아하게 작성할 수 있다. 상속이 있으면 부모 클래스를 수정하지 않아도 부모 클래스의 동작을 용도에 맞게 고칠 수 있으므로 코드 재사용성이 좋아진다. 어떤 경우에는 상속 구조가 문제의 본질적인 구조를 반영되는데, 이러한 디자인은 이해하기가 더 쉽다.
반면에 상속은 프로그램을 읽기 어렵게 만든다. 메서드가 호출될 때 메서드의 정의가 어디에 있는 것인지 명확하지 않을 때가 있기 때문이다. 관련 코드가 여러 모듈에 흩어져 있을 수도 있다. 또한, 상속으로 할 수 있는 작업은 대부분 상속 없이도 할 수 있다.