Enjoy Engineer Life

C#,Unity,C++,UE4などの技術ブログや雑記を徒然なるままに書いていきます。

【読書メモ】Deep Learningを学ぶ〜Pythonスクリプトファイルにクラスを作ってみる〜Part 3

最初に

本記事は以下の本から得た知見を自分用のメモも兼ねてまとめた記事となります。ただし本の内容をそのまま書き写ししているわけではなく、ある程度自身で調べたものや感想が混じっています。ご了承ください。

f:id:rossamu:20190103000547p:plain ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

今回はPythonスクリプトファイルを作成します。Pythonインタプリタで対話的に実行ができますが、処理をまとめて行おうとすると不便となります。ここでPythonの処理を記述したファイルを用意し、それを実行する事で一発でいくつもの処理をまとめて実行することができます。

Pythonファイルの作り方

好きなエディタで、xxx.py というファイルを作成してください。今回僕はVSCodeでファイルを作成し、 hello.py と命名しておきます。プログラム部分には以下のような一行だけのコードを記述しておきます。

print("hello world!")


f:id:rossamu:20190106043243p:plain


ファイルを実行するには、対象ファイルがあるディレクトリまでcdで移動し、python hello.pyと打ち込むだけです。

Pythonでクラスを作る

せっかくなので、ここでユーザー定義型であるクラスを定義し、まとまった処理を記述してみようと思います。

Pythonでは以下のように、classキーワードを使ってクラスを定義します。

class クラス名:
    def __init__(self, 引数, ....):    # コンストラクタ

    def function(self, 引数, ....):    # メソッド定義


Pythonではメソッドの第一引数に自分自身のインスタンスを表すselfを明示的に書く必要があるらしいです。とりあえず、簡単なクラスを作成してみましょう。

class Human:
    def __init__(self, name):
        self.name = name
        print("Start")

    def hello(self):
        print("Hello! My name is " + self.name + ".")

human = Human("Chloe")
human.hello()


これで、ファイルを実行した時に、Humanクラスのインスタンスが生成され、引数としてとったnameでインスタンス変数であるself.nameを初期化し、hello()を実行します。ちなみにインスタンス変数とは、個々のインスタンスに格納される変数のことです。つまりそのインスタンスでのみ使用する変数のことをです。これはクラス変数とは違ってクラスオブジェクトからは参照することができません。

最後に

次はNumPyの使い方になりそうです。