「どのような環境で、どういう操作をしたか」を「具体的かつ正確に」書いた方がよいようです。
エラーメッセージからIPython上で実行しているのがわかるので、(おそらくはAnaconda環境で)Jupyter Notebookを用いて実行したのだと思いますが、セルには
の1行しか書いてないと思います。なぜならエラーメッセージから
NameError Traceback (most recent call last)
<ipython-input-56-87196fe4e20c> in <module>
----> 1 res.array()
^ これはセルに記述したコードのセル内の行番号
NameError: name 'res' is not defined
だからです。質問者さんはPythonの実行の仕方にまだ慣れていないと想像します。そのような状況では次のように詳しく実行手順を書いた方がよさそうだと思います。
質問の仕方の例
次のように実行したところ(4)に示すエラーメッセージが表示された。原因は何か?
(1) Jupyter Notebookをこれこれの手順で起動
(2) Notebook起動後、画面上の最初のセルに以下を入力し実行した
python
1import numpy as np
2
3class Trial:
4 def __init__(self,x,y):
5 self.x=x
6 self.y=y
7
8 def array(self):
9 a=np.array([self.x,self.y])
10 b=np.array([2,3])
11 return sum(a*b)
(3) 上記のセルを実行後次のセルに以下を入力し実行した
(4)エラーメッセージが以下のように表示された
NameError Traceback (most recent call last)
<ipython-input-56-87196fe4e20c> in <module>
----> 1 res.array()
NameError: name 'res' is not defined
解答例:
変数resに何も代入していない時点でresを参照しようとしたのがNameErrorの原因。resへの代入をした後でなければresは参照できない。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/06 02:18
2019/07/06 05:25
2019/07/06 07:12