【Python】クラスを作成しよう【基本講座】

【Python】ファイル操作 読み込み【基本講座】

Pythonもオブジェクト指向のプログラミング言語です。そのため、クラスという概念があります。関数と同じような感じで書くことができます。クラスは作業効率を上げるためにも非常に重要な概念ですので是非マスターしましょう。

出典:http://www.photo-ac.com/

クラス作成の基本操作

classの基本構造

classの定義は、class クラス名で定義します。また、メソッドの定義は、関数と同じようにdef文で行います。

実践例は、下記のように書きます。

クラス名は、慣習的に先頭を大文字にします。複数単語の場合「_」で繋げず、単語の先頭を大文字にするのが一般です。キャメルケースと呼ばれるものです。

初期化メソッド __init__

初期化メソッドとは、メソッドの中で、インスタンスの初期化を行うメソッドのことを言います。初期化メソッドは、__init__() に決まっています。また、第一引数は、selfを渡すことが決まっています。

先頭に「__」をつけたメソッドは、特別な役割をする、特殊メソッドと呼ばれます。

__init__()メソッドの具体例はこんな感じです。

また、このインスタンス変数にアクセスするには、次のようにインスタンスを生成する必要があります。

最後のインスタンスの値を変更している箇所のように

変数名.インスタンス変数名

とするとアクセスできます。

クラスメソッドを定義する

初期化メソッドの他にも、当然メソッドを作れます。
メソッドの定義は関数の作り方と類似しています。しかし、第一引数にselfを取るというのが大きな違いになります。

メソッドへのアクセスは、インスタンスを生成して、
インスタンス名.変数名
とすればOKです。

また、クラス内で定数を宣言することもあるでしょう。(def文のブロック内で宣言しないもの)

慣習的に定数はすべて大文字で書きます。変数と区別するためです。

アトリビュートを外部からアクセスできないようにする

アトリビュートというのは、クラス内で宣言された、変数やメソッドのことです。
これらを外部からアクセスできないようにカプセル化することができます。

そのためには、アクセッサメソッドというものを使います。

変数名やメソッド名の前に「__」を付けるだけで良いのです。

カプセル化した変数に外部からアクセスしたい時は、必要に応じてメソッドを用意します。値を取得したいメソッドを「ゲッターメソッド」、値を設定するメソッドを「セッターメソッド」といいます。

Pythonおすすめ書籍

最初の2冊は初心者向けです。Effectiv Pythonはこの2冊を終えてから読むとかなりわかりやすく感動できると思います。

基礎 Python (IMPRESS KISO SERIES)

新品価格
¥6,200から
(2020/4/21 20:50時点)

入門 Python 3

新品価格
¥4,070から
(2020/4/21 20:53時点)

Effective Python ?Pythonプログラムを改良する59項目

新品価格
¥3,520から
(2020/4/21 20:52時点)

【朗報】がんばらないでプログラマーになりたい人向けの学習方法とは?

【スクール】今流行りのプログラミングスクールについて徹底的に調べてみた