前提
初心者で大変恐縮です。
頑張ってクラスの勉強中です。
以下のプラグラムは、太郎と花子の点数合計をするプログラムです。
太郎用のインスタンス(taro)
花子用のインスタンス(hanako)
を生成して、それぞれのインスタンスを呼び出せば
それぞれの点数合計を出すことは出来ました。
同じgokei変数名でもインスタンスは別々のメモリ空間にいるため
干渉しあわないものなのだと理解致しました。
また、インスタンス側で変数を保持できるものだと理解できました。
ただし、太郎用のインスタンス、花子用のインスタンスのように
静的に書き分けをしなければならないのが微妙だな感じています。
現在のプログラム
python
1class Tokuten_data: 2 def __init__(self): 3 self.gokei = 0 4 5 def gokei_cal(self, name, ten): 6 self.gokei = self.gokei + ten 7 print(f"{name}: {self.gokei}") 8 return(self.gokei) 9 10taro = Tokuten_data() 11hanako = Tokuten_data() 12 13name = "taro" 14ten = 50 15taro.gokei_cal(name, ten) 16 17name = "taro" 18ten = 45 19taro.gokei_cal(name, ten) 20 21name = "hanako" 22ten = 90 23hanako.gokei_cal(name, ten) 24 25name = "hanako" 26ten = 85 27hanako.gokei_cal(name, ten)
実現したいこと
dictのnameから動的に「taro」「hanako」クラスを作成して、処理を行うのようなことは出来ますでしょうか?
python
1class Tokuten_data: 2 def __init__(self): 3 self.gokei = 0 4 5 def gokei_cal(self, name, ten): 6 self.gokei = self.gokei + ten 7 print(f"{name}: {self.gokei}") 8 return(self.gokei) 9 10# ----------------------------------------------- 11# 動的にクラスを生成して加算 12# ----------------------------------------------- 13dict = [ 14 { 15 "name": "taro", 16 "ten": 50 17 }, 18 { 19 "name": "hanako", 20 "ten": 90 21 }, 22 { 23 "name": "taro", 24 "ten": 45 25 }, 26 { 27 "name": "hanako", 28 "ten": 85 29 } 30]
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/29 13:44