Answer:
1. - Observer
2. - iterator
3. - strategy
4. - composite
5. - decorator
Step-by-step explanation:
An object contains other objects (elements) and must give access to them for clients, without exposing its internal structure. This is an observation.
The subject-object can generate events as an iterable (iterator) and could use different strategic algorithms to achieve a task. Class objects can be used to aggregate other class objects.
In python, the decorator function mimics the outer function of a nested function, but still maintains the functionality of the second function