データベースの内容をリストなどに格納して、ある条件に該当するものを条件文で抜粋する、ということがやりたいです。
例えば、
Python
1class Vegetable: 2 def __init__(self, weight, color, price): 3 self.weight = weight 4 self.color = color 5 self.price = price 6carrot = Vegetable(150, "orange", 50) 7paprika_yellow = Vegetable(180, "yellow", 80) 8paprika_red = Vegetable(180, "red", 80) 9paprika_orange = Vegetable(180, "orange", 80) 10cucumber = Vegetable(100, "green", 20) 11cabbage = Vegetable(1200, "green", 390)
のような感じで作られたインスタンス全てに関して、
python
1for vegetable in vegetables: 2 if {instance_name}.color="green": 3 print({インスタンス名})
というようなことをしたいのですが、生成したインスタンスをうまくまとめるいい方法が思いつかず、さらに「python インスタンス名を取得」で検索しても方法が出てこないので現在は上記のクラスの引数にself.nameを追加して
python
1vegetables = [carrot, paprika_yellow, paprika_red, paprika_orange, cucumber, cabbage] 2 3上記for文: 4 print(vegetable.name)
としています。二度手間感が満載なのと、拡張性がないため上記のコードを改修したいです。
1)インスタンス名自体を取得する方法、もしくは上記の例で格納するのにより適切な型を教えてください
2)上記の例で生成したインスタンス名を一度に取得する方法はないでしょうか。ない場合、1つのオブジェクト、リスト、辞書などにまとめるいい方法はあるでしょうか。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/22 07:38