t-morisawa / rekognition

rekognition
0 stars 0 forks source link

結果のデータ型を考える #4

Closed t-morisawa closed 3 years ago

t-morisawa commented 3 years ago

[採用]シンプル

[
  {
    "filename": "hoge.jpg",
    "result": [{"FaceDetails": {...}}]
  },
  {
    "filename": "fuga.jpg",
    "result": [{"FaceDetails": {...}}]
  },
  ...
]

並び順を考慮する例

[
  {
    "id": "0",
    "filename": "hoge.jpg",
    "result": [{"FaceDetails": {...}}]
  },
  {
    "id": "1",
    "filename": "fuga.jpg",
    "result": [{"FaceDetails": {...}}]
  },
  ...
]

簡素

{
  "hoge.jpg": [{"FaceDetails": {...}}],
  "fuga.jpg": [{"FaceDetails": {...}}],
  ...
}

実装

class DetectFaces:
  def __init__(self):
    self.results = [] # インスタンス変数の定義 / 初期化

  async def detect_faces(self, image_bytes):
     # 中略
     self.results.append({"filename": filename, "result": result})
t-morisawa commented 3 years ago

クラスとインスタンスの違い

# Carクラスの定義
class Car:
  type="car"
  pass
# Carクラスの利用
car1 = Car() # インスタンス化
car2 = Car() # インスタンス化

car1, car2は別々のインスタンス

インスタンス変数: インスタンス間で独立している クラス変数: 共通

car1.type # car
car2.type # car

変数はインスタンスで持つもの