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


概要


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

        
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で実行せよ
        
      

print出力

        
Bob HELLO!
        
      

説明


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

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

で使うことができる
  

間違えやすい問題