前提・実現したいこと
プログラミング初心者で、pythonを勉強しています。super()を試したところエラーが出ました。
発生している問題・エラーメッセージ
エラーメッセージ
t = SuperSample("rinju") __init__() takes 1 positional argument but 2 were given
該当のソースコード
python3
1class Sample: 2 def __init__(self, name): 3 self.name = name 4 def kakou(self): 5 print("hello,{0}".format(self.name)) 6 7apple = Sample("rinngo_jusu") 8budou = Sample( "budou_jusu") 9 10apple.kakou() 11budou.kakou() 12 13class SuperSample(Sample): 14 def __init__(name): #ここらへんの__init__に対してエラーが出ます 15 super().__init__(name) 16 17 def keisoku(self, kg): 18 self.kg = kg 19 20 def hello(self): 21 print("super" + self.name) 22 super().kakou() 23 24 def omosa(self): 25 print("内容量は" + self.kg + "kgです") 26 27t = SuperSample("rinju") 28t.keisoku(10) 29t.hello() 30t.omosa()
試したこと
t = SuperSample("rinju")ってもともとt = SuperSample("ringo_jusu")だったんですけど略してみました。
直りませんでした。
聞きたいこと
上のほうのapple.kakou()は大丈夫なので、うまく動いてるのかと思ったのですが、何で下のはダメなんでしょうか。
エラーの意味は「2つ入力されてますよ」であってますか?
もしよければ解答宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/17 02:38