はじめまして、プログラミング初心者です。
ただいまPythonの勉強をしていまして、お詳しい方、お力いただけると幸いです。
現在クラスについて勉強しております。簡単なクラスは実装できました。
またインスタンスを作成し、実際メソッドを実行できることも確認できたという状態です。
実際のコードは下記になります。
test.py
1class Animal: 2 3 def __init__(self,name): 4 self.name = name 5 6 def say(self): 7 print("私の名前は"+self.name+"です") 8 9 10dog = Animal("いぬ") 11cat = Animal("ねこ") 12dog.say() 13cat.say() 14→私の名前はいぬです。 15→私の名前はねこです。 16
ここまでは問題ないのですが、できればオブジェクトを添字をつけて大量に生成したいと思っております。この時エラーが出てしまいまして、例えば以下のように犬のオブジェクトに添字をつけて複数つくろうとするとエラーが出てしまいます。
test.py
1class Animal: 2 3 def __init__(self,name): 4 self.name = name 5 6 def say(self): 7 print("私の名前は"+self.name+"です") 8 9 10dog[0] = Animal("ぽち") 11dog[1] = Animal("ぺろ") 12dog[2] = Animal("ぽぽ") 13 14for i in range(0,3): 15 dog[i].say() 16
↓エラー内容↓
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-15-aaabaa8a100b> in <module>() 8 9 ---> 10 dog[0] = Animal("ぽち") 11 dog[1] = Animal("ぺろ") 12 dog[2] = Animal("ぽぽ") TypeError: 'Animal' object does not support item assignment
できれば添字のインデックスでオブジェクトにアクセスできる形式を作りたく、for文で処理したり条件に合致したインデックスのオブジェクトに対して操作をしたり・・・みたいなことを行いたいですが何か良い方法はないでしょうか。ご教授いただけると幸いです。
回答2件
あなたの回答
tips
プレビュー