クラスに「動作」を持たせる
クラスにはデータ(属性)だけでなく、動作(メソッド)も持たせることができます。「犬」というクラスなら、鳴くという動作があってもよさそうですよね。クラスの中で定義する関数のことをメソッドと呼び、こちらも第一引数には必ずselfを書きます。selfを通すことで、メソッドの中から「自分自身が持っている情報(self.name など)」を自由に使えるようになります。
呼び出すときは インスタンス.メソッド名() という形になります。selfの部分は、Pythonが呼び出し元のインスタンスを自動で渡してくれるので、私たちが明示的に書く必要はありません。