__init__は「インスタンスが生まれた瞬間」に呼ばれる特別なメソッド
前のレッスンでは、インスタンスを作った後に dog1.name = 'ポチ' のように、後から情報を付け足していました。しかし、犬を作るたびに毎回同じことを書くのは面倒ですし、名前を付け忘れる犬が出てきてしまうかもしれません。そこで使うのが__init__という特別なメソッドです。これはコンストラクタと呼ばれ、Dog('ポチ')のようにインスタンスを作った瞬間、自動的に呼び出されます。
selfって何者?
クラスの中のメソッドを見ると、必ず最初の引数にselfと書かれています。selfは「これから作られる(あるいは操作されている)自分自身のインスタンス」を指す特別な引数です。self.name = nameと書くことで、「このインスタンス自身が持つnameという情報」として値を保存しています。最初は不思議に感じるかもしれませんが、「そのインスタンス自身」を指す合言葉のようなものだと考えてください。