クラスのオブジェクトを引数にして新たにクラスを作り、その新しいクラスで元のクラスのメンバ関数を呼び出したいです。
以下のコードを作ったのですが、エラーになってしまうのですがどうすれば良いのでしょうか?教えてください。
以下のようなプログラムを考えています。
0. humanというクラスを作る。
0. →
0. Communicationというクラスを別に作り、そこでhumanクラスのcall関数を呼び出したい
これを実現するために作ったプログラムが以下になります。しかしエラーになります。
python3
1class human(): 2 def __init__(self,name): 3 self.myname=name 4 def call(self): 5 print(self.myname,'desu!') 6 7 8tom=human('Tom') 9alis=human('alis') 10 11class Communication: 12 def __init__(self,human1,human2): 13 print(human1.myname,',',human2.myname) 14 def charm(self): 15 human1.call() #クラスhumanのcallを呼び出したい 16 17 18friends=Communication(tom,alis) 19friends.charm() #うごかない 20
エラー内容
=================== RESTART: /Users/marumaru/Documents/てst.py =================== Tom , alis Traceback (most recent call last): File "/Users/marumaru/Documents/てst.py", line 19, in <module> friends.charm() #ugokanai File "/Users/marumaru/Documents/てst.py", line 15, in charm human1.call() NameError: name 'human1' is not defined >>>
以下のように、human1が定義されていないと出てしまい、クラスから別のクラスの関数を呼び出せません。
パイソンのことをよくわかっていないのだと思いますが教えていただきたいです。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/26 10:24