IT

pythonのクラスの書き方

pythonでのクラス

pythonでも他の言語同様クラスを作ることができます。

 

クラスの定義

pythonでクラスを定義するには、classという文字列に続けてクラス名を書きます。

 

 

passというのは、「このクラスでは何も処理を行わない」という意味です。

とてもシンプルですが、これでも立派なclassです。

 

アトリビュート

クラスを定義したら、次にインスタンスを作ります。

これでインスタンスができました。
面白いのが、pythonだとインスタンスを作る際にnewしなくてよいことです。
phpやrubyなどメジャーなオブジェクト指向言語はnewする言語が多いですが、pythonは独特ですね。

インスタンスを作ったら、次にアトリビュートを使いましょう。
アトリビュートはインスタンスにデータをもたせることができます。
アトリビュートを使うためには、「インスタンス名+ . +アトリビュート名」で記述します。

アトリビュートへの代入は自由に行うことができるので、いろいろな値を試してみましょう。

ちなみに、アトリビュートは各インスタンスに個別に作られるため、お互いのクラスには干渉し合うことはありません。

それぞれのインスタンスに個別の情報をもたせることで、各インスタンスに個体差を作ることができます。

 

メソッドの定義

メソッドをつくるときは、defに続けてメソッド名を書きます。

また、第一引数に必ずself を渡します。

selfはJavaScriptのthisみたいなものだと思ってください。

(実はselfと書かずにthisと書いてもプログラムは動くのですが、pythonの慣習上selfと書くことになっています。)

作ったメソッドを呼び出すときは、インスタンス化した後で以下のように記述します。

カッコをつけ忘れるとエラーが出るので、絶対に忘れないようにしましょう。

 

初期化メソッド

インスタンスにいちいちアトリビュートを追加していくのは面倒なので、__init__()というメソッドで先に初期化しておくことができます。

イメージとしては、javaのコンストラクタやrubyのinitializeと一緒です。

 

他にもアトリビュートの隠蔽やデストラクタなど、面白いトピックがpythonには数多く存在するのですが、それについてはまた別枠で書きます。

ABOUT ME
てりたま
いつの間にかライターで生きるようになっていた人。真面目半分、不真面目半分で記事を書いてます。