クラスについて
Pythonでつかうクラスですが、インスタンス、オブジェクト、コンストラクタなどよくわからない言葉がならんでいます。
機械学習をするためには、クラスをよく使うので、避けては通れません。
今回は、クラスについてまとめてみました。
まずは調べてみます
インターネットで調べると、たい焼き機の話が分かりやすいので、下のとおりまとめました。
<クラスの概念>
まずは下の図を見てください。たい焼きの型=クラス、たい焼きを焼く=インスタンス化、たい焼き=インスタンスとなります。
インスタンス化の時に中身をきめると、いろいろなたい焼きになります。

実際に上の絵をみて、クラスとインスタンス化をやってみます。
実行すると「あんこ」と表示されます。中身は引数として設定します。引数を増やせば、いろいろな種類の引数が使えます。
次のプログラムを実行すると中身に加えて、個数を設定できます。
さらに次のプログラムを実行すると、梱包の種類を設定できます。まずはインスタンスを作成するときに、たい焼きの中身と個数をセットします。
そして、関数の「KonpouType」で紙袋をセットします
カスタードに加えて、個数10個、紙袋が表示されます。
<クラス属性>
今度は、クラス属性を変更して、たい焼きをイルカ焼きに変更していきます。

下のプログラムを実行すると、Class_Taiyaki.KataType=イルカとなります。
<継承>
今度は、クラスを継承して、たい焼きの生地を小麦粉から米粉に変更します。

下のプログラムを実行すると、Taiyaki_2.Kiji=米粉になります。
上記のプログラムでは、親クラスを呼び出した後、子クラスを呼び出します。そして、親クラスの表示、子クラスの表示をしていますが、
それぞれ呼び出したときの引数が正しく表示されます。また子クラスで設定した生地も米粉にセットされました。
クラスは機械学習を行う場合、サンプルプログラム等でつかわれるので、コードを読んで理解するためにも重要です。
<コンストラクタとは>
コンストラクタの名前は「__init__」に決まっています
<オブジェクトとは>
オブジェクトは、今回はたい焼きを作るという事と考えてよいと思います。みなさんは、どんなたい焼きが欲しいか?
考えて注文すると、必要なたい焼きを手に入れることができるという事です。
<クラスファイルをつくる>
これまでは、1つのファイルで作成して、実行しました。同じファイルの中なので、あまり実感がなかったかもしれません。
しかし通常クラスは別ファイルで作成するので、クラスファイルを作成して、それを実行ファイルから呼び出します。
作成するファイルは2つですが、実行ファイルからクラスファイルを呼び出します。
from クラスファイル import クラス名
で実行できます。クラスファイルは拡張子の「.py」を抜いた名前です。
Takoyakiya.py
Main_ClassTest.py
Takoyakiya.pyの中のClass_Taiyakiを呼び出すと、そのクラスが使えるようになります。機械学習でいろいろな
ライブラリを利用しますが、from ~ import ~ の意味が分かっていた方が良いです。
これでクラスについては終わりにします。
-------------