クラスの中の関数(メソッド)の引数にクラスのインスタンスを使う


概要


引数にクラスのインスタンスそのものを入れることができる


class aClass():
    def __init__(self,name):
        self.name = name

class bClass():
    def __init__(self,instance):
        print(instance.name + ' HELLO!')

    def bClassFunc(self,instance):
        print(instance.name)

ob01 = aClass('Bob')

ob02 = bClass(ob01)
ob02.bClassFunc(ob01)

aCalssというクラスを以下に定義
    コンストラクタを定義(引数はname)
        変数self.nameにname(引数name)を入れる

bClassというクラスを定義
    コンストラクタを定義(引数はinstance)
        「instance.name + 'HELLO!'」を出力せよ

    関数bClassFuncを定義(引数はinstance)
        instance.nameを出力せよ

ob1にクラスaClassのインスタンスを引数「Bob」で作成

ob2にクラスbClassのインスタンスを引数「ob01(インスタンス)」で作成
ob02.bClassFuncを引数ob01で実行せよ

出力


Bob HELLO!

説明


クラスのインスタンスの引数に
別のクラスのインスタンスそのものを入れることができる
インスタンス内の変数を使うときは

インスタンスの引数名.変数名

で使うことができる

間違えやすい問題