【読書メモ】Deep Learningを学ぶ〜Pythonスクリプトファイルにクラスを作ってみる〜Part 3
最初に
本記事は以下の本から得た知見を自分用のメモも兼ねてまとめた記事となります。ただし本の内容をそのまま書き写ししているわけではなく、ある程度自身で調べたものや感想が混じっています。ご了承ください。
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
今回はPythonのスクリプトファイルを作成します。Pythonはインタプリタで対話的に実行ができますが、処理をまとめて行おうとすると不便となります。ここでPythonの処理を記述したファイルを用意し、それを実行する事で一発でいくつもの処理をまとめて実行することができます。
Pythonファイルの作り方
好きなエディタで、xxx.py というファイルを作成してください。今回僕はVSCodeでファイルを作成し、 hello.py と命名しておきます。プログラム部分には以下のような一行だけのコードを記述しておきます。
print("hello world!")
ファイルを実行するには、対象ファイルがあるディレクトリまで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の使い方になりそうです。