Pythonでインスタンス変数を返すメソッドをクラス内で定義する

スポンサーリンク

Pythonでインスタンス変数を返すメソッドをクラス内で定義し、実装してみます。

■今回の環境(Python)

今回のPythonは、バージョン3.9.16を用いる。(なお、Google Colaboratory(Google Colab)を使用。)

■クラス内でインスタンス変数を返すメソッドを定義する

では、早速クラス内でインスタンス変数を返すメソッドを定義するためにコードを書いていきます。

■コード

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
        
    def get_name(self):
        return self.name
    
    def get_age(self):
        return self.age
    
person1 = Person("田中", 23)
print(person1.get_name())  
print(person1.get_age())

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

次にdef文を用いてget_nameというメソッドを定義します。括弧内には、メソッドで渡される最初の引数,パラメータは、インスタンス(作成されたオブジェクト)自体でなければならないため、「self(自己)」と記述し、最初の引数として渡します。このメソッドが呼び出された時の処理として、全メソッドからアクセス可能なインスタンス変数(self.name)をreturnで返すという処理になります。

次にdef文を用いてget_ageというメソッドを定義します。括弧内には、メソッドで渡される最初の引数,パラメータは、インスタンス(作成されたオブジェクト)自体でなければならないため、「self(自己)」と記述し、最初の引数として渡します。このメソッドが呼び出された時の処理として、全メソッドからアクセス可能なインスタンス変数(self.age)をreturnで返すという処理になります。

その後、person1という変数を定義し、その中でPerson()を用います。これでインスタンス化を行います。インスタンス化によりオブジェクトが作成されたことで、クラス内にアクセスできるようになりました。この時に括弧内に第1の引数,パラメータとしてnameに渡す要素(今回は”田中”)を渡します。次に第2の引数,パラメータとしてageに渡す要素(今回は23)を渡します。

渡した後に、作成したオブジェクトであるperson1に対して(.)ドット演算子を用いてget_name()とget_age()を呼び出します。

■実行・検証

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

実行してみると、クラス内でインスタンス変数を返すメソッドを定義し、インスタンス変数内の情報を出力させることができました。

コメント

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