問題

次の文章の①、②に当てはまる用語として、適切なものはどれか。

Pythonにおいてクラスを定義するときには、そのクラスのオブジェクト生成時に最初に実行される処理を定義したメソッドとして「①」を定義する。「①」は、オブジェクト生成時に一回だけ実行される特別なメソッドである。

また「①」の第一引数には「②」を指定する。「②」とは、生成されるオブジェクト自身を表す特殊な変数です。

空欄① 空欄②
コンストラクタ this
コンストラクタ self
インスタンス this
インスタンス self

選択肢

(a)

(b)

(c)

(d)

  • a
  • b
  • c
  • d

Python クラス コンストラクタ

答え

(b)

解説

①コンストラクタ②selfが正解です。正解の文章は次のようになります。

Pythonにおいてクラスを定義するときには、そのクラスのオブジェクト生成時に最初に実行される処理を定義したメソッドとしてコンストラクタを定義する。コンストラクタは、オブジェクト生成時に一回だけ実行される特別なメソッドである。

またコンストラクタの第一引数にはselfを指定する。selfとは、生成されるオブジェクト自身を表す特殊な変数です。

理解を深めるために、実際にPythonでクラスを定義したプログラムをみていきましょう。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        print(f"Hello, my name is {self.name} and I am {self.age} years old.")

# インスタンスの生成
person1 = Person("Alice", 25)
person2 = Person("Bob", 30)

# インスタンスのメソッドの呼び出し
person1.say_hello()
person2.say_hello()

このプログラムでは、「def __init__(self, name, age)」で定義しているメソッドがコンストラクタになります。Pythonでは一般的に、__init__()にオブジェクト生成時に10個する処理内容を記述します。

テスト一覧

スキルテストが提供しているテストの一覧です。ぜひ学習や実力チェックに役立ててください。