2020年1月1日水曜日

[Python] __init__メソッド

__init__メソッドは,クラスをインスタンス化する際に必要なメソッドです.

まずは,クラスについて

  • クラスはデータとその処理方法がひとまとまりになったもので,オブジェクト指向プログラミングでは欠かせない概念.
  • Pythonでクラスを使う際には,__init__メソッドを使う必要がある.
  • __init__メソッドを使うことで,抽象的な様々なクラスを実体化して使うことができるようになる.

インスタンス化とは抽象的なクラスという概念に,中身を与えて具体化することで,Pythonにおけるインスタンス化には__init__メソッドを用います.

Pythonのコードでクラスは
>>> class クラス名:
...     def __init__(self, 他の引数):
と書かれます.なお,selfはそれぞれのインスタンスを表すものです.

__init__を利用してインスタンス化する例を以下に示します.
この例では,Carsと名付けたクラスを作り,車名を引数に渡してインスタンス化することで中身を与えます.
>>> class Cars:
...     def __init__(self, name):
...         self.car_name = name
...     
...     def print_name(self):
...         print('Your car is the {}.'.format(self.car_name))

クラスを実装できたので,次はインスタンス化を行ないます.
>>> db9 = Cars('Aston Martin DB9')
これでインスタンス化が完了したので,hello()メソッドを使用して確認してみます.
>>> db9.print_name()
Your car is the Aston Martin DB9.
print_name()を実行すると,上記の例のように,
    Your car is the Aston Martin DB9.
と表示されるので,db9という車の名前のインスタンス化に成功していることが確認できました.