こんにちは!ぼりたそです!今回はPythonのクラスについて記事をまとめてみました。
この記事は以下のポイントでまとめています。
クラスはオブジェクト指向プログラムであるPythonの根底にもなる概念ですので、ぜひ理解したいところです。今回は少し長い記事になりそうなので2回に分けて解説します!
クラスまで理解できればPythonの初心者を卒業したことになると思いますので、ぜひみていって下さい!
クラスとは?
Pythonはオブジェクト指向のプログラム言語であり、値やデータ群をオブジェクトとして一定の処理ができるようになっています。この一定の処理に関して記述されたソースコードのことをクラスと言います。イメージ的にはクラスは設計図的な役割を果たしていると考えていただければと思います。
なんていきなり言われても何のことやら?と思うかもしれません。
例えば以下のように空のリストを生成し、要素を追加するコードがあったとします。Pythonにおいてこのリストこそがオブジェクトなのです。そしてリストはクラスによってどのような処理ができるかが定義されています。
下の例ではリストクラスの中にあるappendメソッドを使用して要素を追加しています。Pythonではリストに限らずタプルや辞書などもオブジェクトであり、そのソースコードであるクラスには必ずどのような処理ができるかが記述されています。逆にクラスに定義されていないメソッドは使用することができできないという事ですね。
#空のリストを生成し、9を追加
l = list()
l.append(9)
print(l)
#出力結果
#[9]
クラスはPythonで最初に定義されているもの以外に、自分でも自由に定義することができます。なので、欲しい機能がないなあと思った方は自分好みのクラスを記述してみましょう!
メソッド
先ほど「メソッド」という用語が出てきましたが、メソッドについても説明しておきます。メソッドはクラスの中に定義されている関数のことです。関数独立で定義されているものを関数、クラス内で定義されている関数をメソッドと覚えていただければと思います。
例えば、下に示すのはリストクラスで定義されているメソッドですね。いずれもlist.メソッドと記述すれば呼び出して使用することができます。
関数 | 処理 | 呼び出し方 |
append | 要素を追加 | list.append(要素) |
insert | 任意の場所に要素を追加 | list.insert(index,要素) |
pop | 任意の場所の要素を削除して返す | list.pop(index) |
remove | 一番最初にヒットした要素を削除 | list.remove(要素) |
clear | 要素を全て削除 | list.clear() |
sort | 並び替え | list.sort() |
クラスの生成
では実際にクラスを定義してみましょう。クラスの定義の仕方は以下のような記述をするだけです。
class クラス名:
実際にSelf_Introductionというクラスを定義してみました。特にメソッドは用意していません。
#空のクラスを定義
class Self_Introduction:
pass
インスタンス化
クラスは設計図のようなものとご紹介しました。では実際にクラスを基にオブジェクトとして使用するにはどうしたら良いのか解説します。
クラスをオブジェクトとして使用するには以下のように記述すればよいのです。
変数名=クラス名()
実際に先ほど定義したSelf_Introductionをオブジェクトとして呼び出してみましょう。
#クラスの呼び出し
class Self_Introduction:
pass
sf = Self_Introduction()
終わりに
ひとまずクラスの定義方法、オブジェクトとして呼び出す方法まで解説しました!次の記事ではもう少し詳細にメソッドの定義やクラスの継承など踏み込んだ内容について解説していきたいと思いますので、楽しみにしていた下さい!
クラスは初学者の方には少し難しい内容となるかと思います。ご不明点などありましたらお問合せフォームよりご連絡いただければと思います。それではまた会いましょう!