python-expert add metaclass add generators add data model add decorator add contextmanager context manager: 要用到 with 包起來 with 包起來裡面的code, 前後都要有 code 包起來時 (用generator yield 方式)