Pythonでコンストラクタとインスタンス変数を含むクラスを定義する

スポンサーリンク

Pythonでコンストラクタとインスタンス変数を含むクラスを定義してみます。

■Python

Google Colaboratory(Google Colab),2023年3月18日時点ではPython 3.9.16が用いられる。

■コンストラクタとインスタンス変数を含むクラスを定義する

では、早速コンストラクタとインスタンス変数を含むクラスを定義するために、コードを書いていきます。

■コード

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

test_object = test(1,"田中", 25)

print(test_object.number)
print(test_object.name)
print(test_object.age)

今回は、testというオブジェクトを作成するためのテンプレート(設計図)であるクラスを定義します。定義後、クラス内にdef文を用いて’__init__’と記述し、コンストラクタを使います。括弧内には、メソッドで渡される最初の引数,パラメータは、インスタンス(作成されたオブジェクト)自体でなければならないため、「self(自己)」と記述し、最初の引数として渡します。次に第2,第3,第4の引数,パラメータとして「number, name, age」をそれぞれ設定します。なお、最初の「self(自己)」という引数,パラメータを介して、「number, name, age」という3つのクラスのインスタンス変数が初期化されます。この時にself(自己)に対してドット演算子( . )を用いてnumber, name, ageの3つを指定します。

次にtest_objectという変数を用意し、その中にtest()を格納し、インスタンス化を行います。インスタンス化によりオブジェクトが作成されたことで、クラス内にアクセスできるようになりました。そこで、先ほどの3つの引数,パラメータに値を渡すために、括弧内に値をそれぞれ記述します。これで’__init__’内でself.number、self.name、self.ageに値が割り当てられます。

最後にprint()を用いてインスタンス変数内の値を出力するために、「test_object.number」、「test_object.name」、「test_object.age」と記述します。

■実行・検証

このコードを保存し、Google Colaboratory上で、コード(セル)を実行してみます。

実行してみると、コンストラクタとインスタンス変数を含むtestというクラスを定義し、インスタンス化を行い、作成されたオブジェクトを介してインスタンス変数にアクセス。アクセス後、値を出力させることができました。

コメント

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