Describe what object-oriented programming is.
For this hands-on version, demonstrate the explanation by implementing shape objects that use a shared interface and compute their own areas. Given a list of shape specifications, return each shape's type and area rounded to two decimal places.
Function: def summarize_shapes(shapes):
Each input item is a dictionary with type and numeric dimensions. Supported types are rectangle, with width and height, and circle, with radius. Return a list of dictionaries containing type and area in input order.
rectangle or circledef summarize_shapes(shapes):