このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【Python】classの使い方を紹介

2024年5月21日

今回はPythonのclassの使い方について解説します。

クラスは、関連するデータと関数を1つのまとまりとして扱うための便利な機能です。

クラスの作り方と基本的な使い方を紹介します。

この記事では↓の内容が分かります。

  • classの作り方
  • classの呼び出し方

classの作り方(classキーワード/コンストラクタ)

class SampleClass: 
    def __init__(self, name): 
        # コンストラクタ(インスタンス生成時に自動実行)
        self.name = name 

    def greet(self): 
        print("Hello, {}".format(self.name))

サンプルコードではSampleClassという名前のクラスを定義しています。

class クラス名:

クラスの定義は、このようにclass キーワードを使用して行います。

    def __init__(self, name): 
        # コンストラクタ(インスタンス生成時に自動実行)
        self.name = name 

    def greet(self): 
        print("Hello, {}".format(self.name))

このクラスでは2つのメソッドを定義しています。

重要なのは__init__メソッドの方です。

この名前でメソッドを作成すると「コンストラクタ」となり、インスタンス生成時に自動実行されます。

両方のメソッドでselfという引数があるのですが、これはインスタンスオブジェクト自身です。最初はあまり深く考えず、引数の最初にselfを付けるのだと覚えておいてください。

classの呼び出し方

変数 = クラス名(コンストラクタの引数)

classの呼び出しはこのように書きます。

class SampleClass: 
    def __init__(self, name): 
        # コンストラクタ(インスタンス生成時に自動実行)
        self.name = name 

    def greet(self): 
        print("Hello, {}".format(self.name))

# classの呼び出し
my_instance = SampleClass("ジョン")

# greetメソッドの実行
my_instance.greet()

先ほどのSampleClassを呼び出すとこのようになります。

SampleClassのコンストラクタの引数にはnameがあるため、SampleClass(“ジョン")として引数を渡しています。

    def __init__(self, name): 
        # コンストラクタ(インスタンス生成時に自動実行)
        self.name = name

渡した"ジョン"はインスタンス変数self.nameに代入されます。
(このインスタンス変数は、クラス内のどこからでもアクセスできます)

# greetメソッドの実行
my_instance.greet()

クラスを呼び出した後、greetメソッドを実行しています。

self.nameにはジョンが代入されているため、「Hello, ジョン」と表示されます。

classの呼び出しと、メソッドの実行はこのように行います。

Python

Posted by やろまい