PR

クラスとメソッドについて初心者にもわかりやすく解説!

python

Pythonを使ってクラスを学び始めると、「メソッド」という概念に出会います。このメソッドは、クラスの重要な要素の1つであり、クラスのデータや動作を扱う際に絶対に欠かせません。この記事では、「メソッド」の基本、クラスとメソッドの関係、そして「self」など関連するキーワードについて初心者向けに詳しく解説します。

1. クラスとメソッドとは?

クラスの中には、「メソッド」と呼ばれる関数を定義できます。このメソッドは、インスタンスに関連した動作を定義するために使います。たとえば、車(Car)を例にすると、車が走る・止まるといった動作をメソッドとして表現できます。

基本構文

class クラス名:
    def メソッド名(self):
        # 処理を書く
        pass

メソッドは、クラスの中に定義されていて、クラスを元に作られた具体的なインスタンスを使って呼び出せる仕組みです。

2. メソッドに渡される「self」とは?

Pythonでは、メソッドを定義する際に必ず最初の引数として self を指定します。この self は、メソッドがそのクラスのインスタンスにアクセスするための鍵となります。

たとえば、インスタンス変数である color や model を設定したり、それに基づいた動作を行いたい場合、self を使うことでそのインスタンスに紐づくデータにアクセスできます。

例:
以下のコードでは self を使ってインスタンス変数にアクセスしています。

class Car:
    def describe(self):
        print(f"この車は {self.color} 色の {self.model} 型です。")
    
# インスタンスを作成
my_car = Car()

# インスタンス変数を設定
my_car.color = "赤"
my_car.model = "セダン"

# メソッドを呼び出す
my_car.describe()  # 出力: この車は 赤 色の セダン 型です。

ポイント

  • クラスの外部で、インスタンス変数を直接設定しています。
  • self はインスタンスを指し、値を読み込んだり設定するために使います。

3. メソッドの返り値を学ぼう

クラス名()と書くことで、クラス(設計図)を使って新しいインスタンス(実メソッドは、動作を記述するだけでなく、処理結果を返すこともできます。返り値を利用すれば、メソッドを呼び出した結果を他の処理に活用できます。

class Car:
    def get_color(self):
        return self.color #return を使ってメソッド内の処理結果を外部に渡すことができます。
    
# インスタンスの作成と設定
my_car = Car()
# インスタンス変数を設定
my_car.color = "青"

# メソッドを呼び出して返り値を取得
car_color = my_car.get_color() #インスタンス.メソッド()で呼び出します。
print(f"車の色は {car_color} です。")  # 出力: 車の色は 青 です。

4.演習問題で理解を深めよう!

問題1

以下のコードを完成させてください。この問題では、「get_color」メソッドを作成し、車の色とモデルを返す処理を実装します。また、返り値を受け取り、表示するコードも完成させてください。

class Car:
    # show_info メソッドを完成させてください
    
my_car = Car()

my_car.color = "青"
my_car.model = "SUV"

# メソッドを呼び出して結果を確認 (解答 私の車の色は青です。モデルはSUVです。)
my_car.show_info()
class Car:
  def show_info(self):
    return f'私の車の色は{self.color}です。モデルは{self.model}です。'
    
# インスタンスを作成
my_car = Car()

# インスタンス変数を設定
my_car.color = "青"
my_car.model = "SUV"

result = my_car.show_info()
print(result)

問題2

以下の仕様を満たす「Car」クラスを作成してください。

  1. クラス名は Car とする。
  2. 車の色を取得するための get_color メソッドをクラス内に定義する。
  3. get_color メソッドは、インスタンス変数 color を返す。
  4. インスタンスを作成し、color に好きな色を設定してください。
  5. 作成したインスタンスで get_color メソッドを呼び出して返り値を取得し、その結果を print() で表示してください。

期待する出力例

車の色は 赤 です。
class Car:   # 車クラスの定義
    def get_color(self):  # get_color メソッドを定義
        return self.color  # インスタンス変数 color を返す

my_car = Car()  # インスタンスを作成

my_car.color = "赤"   # インスタンス変数 color に値を設定

result = my_car.get_color()  # get_color メソッドを使って車の色を取得

print(f"車の色は {result} です。")  # 車の色を出力

5. まとめ

今回の記事では、Pythonのクラスで最も重要な要素の1つである「メソッド」について解説しました。「self」の役割やメソッドの返り値を学ぶことで、クラスで動作を定義し、インスタンスを通じてその動作を実行できる仕組みを理解していただけたと思います。

学んだポイント

  • メソッドとは: クラスに関連する動作を定義し、インスタンスを通じて実行できる便利な仕組み。
  • selfの役割: メソッドがインスタンスのデータにアクセスするために必要なキーワード。
  • 返り値について: メソッドの結果をほかの処理に利用する方法を学びました。

演習問題を通じて、これらの概念を実際にコードを書きながら体験し、より深く理解していただけたのではないでしょうか。

次回は「クラスの初期化メソッド(__init__)」について、もっと便利にクラスを活用する方法を分かりやすく解説しますのでお楽しみに!質問や感想があれば、ぜひコメントしてくださいね!

コメント

タイトルとURLをコピーしました