処理とは関係なく、値だけをコンストラクタに渡して表示
別の処理で計算などをする。
リストをインスタンスからコンストラクタに渡際に
エラー 2つの必要な位置引数が欠けている
と言われます。
どの様に対処すれば良いですか?
#実際のコード
python
1class MyClass: 2 3 def __init__(self,Coca_Cola,Cider): #コンストラクタ 4 # 渡された値を代入 5 self.Coca_Cola=Coco_Cola 6 self.Cider=Cider 7 8 def __str__(self): 9 return "name:{0._Coca_Cola}, {0._Cider}".format(self) 10 11 12 13 14 # メンバ関数を定義 15 def set_value(self,tes): # クラス内の メソッド 16 self.Noo = tes #メンバ変数に代入 17 18 # 表示 19 def value_prints(self): 20 print(self.Noo) 21 22 def Add(self,a,b): 23 return a+b 24 25 26if __name__ == "__main__": 27 a = MyClass() # MyClass のインスタンスを生成 28 #tes=list(map(int,input().split())) #test用 29 tes=[5,5] 30 a.set_value(tes) # 変数に代入 31 32 # インスタンスからコンストラクタに渡す エラー 33 MyClass=tes # 2つの必要な位置引数が欠けている 34 35 # 表示 36 a.value_prints()#メンバ関数 37 38 # 計算 39 print(a.Add(tes[0],tes[1]))#メンバ関数 40 41
#実際のエラー
python
1Traceback (most recent call last): 2 File "untitled02.py", line 27, in <module> 3 a = MyClass() # MyClass のインスタンスを生成 4TypeError: __init__() missing 2 required positional arguments: 'Coca_Cola' and 'Cider' 5Error in sys.excepthook: 6Traceback (most recent call last): 7 File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook 8 from apport.fileutils import likely_packaged, get_recent_crashes 9 File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module> 10 from apport.report import Report 11 File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module> 12 import apport.fileutils 13 File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module> 14 from apport.packaging_impl import impl as packaging 15 File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module> 16 import apt 17 File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module> 18 import apt_pkg 19ModuleNotFoundError: No module named 'apt_pkg' 20 21Original exception was: 22Traceback (most recent call last): 23 File "untitled02.py", line 27, in <module> 24 a = MyClass() # MyClass のインスタンスを生成 25TypeError: __init__() missing 2 required positional arguments: 'Coca_Cola' and 'Cider' 26
#完成したコード
python
1class MyClass: 2 3 def __init__(self,Coca_Cola,Cider): #コンストラクタ 4 # 渡された値を代入 5 self.Coca_Cola=Coca_Cola 6 self.Cider=Cider 7 8 def __str__(self): 9 return "name:{0._Coca_Cola}, {0._Cider}".format(self) 10 11 12 13 14 # メンバ関数を定義 15 def set_value(self,tes): # クラス内の メソッド 16 self.Noo = tes #メンバ変数に代入 17 18 # 表示 19 def value_prints(self): 20 print(self.Noo) 21 22 def Add(self,a,b): 23 return a+b 24 25 26if __name__ == "__main__": 27 28 #tes=list(map(int,input().split())) #test用 29 tes=[5,5] 30 31 # インスタンスからコンストラクタに渡す エラー 32 #MyClass=tes # 2つの必要な位置引数が欠けている 33 a = MyClass(5,5) # MyClass のインスタンスを生成 34 35 # 変数に代入 36 a.set_value(tes) 37 38 # 表示 39 a.value_prints()#メンバ関数 40 41 # 計算 42 print(a.Add(tes[0],tes[1]))#メンバ関数 43 44
同じエラーを何回も踏んでいるような... https://teratail.com/questions/123497 https://teratail.com/questions/115881
回答1件
あなたの回答
tips
プレビュー