一个同时支持异步和同步的Python函数
💡
原文英文,约400词,阅读约需2分钟。
📝
内容提要
本文探讨了如何编写一个同时支持异步和同步调用的Python函数。由于async/await的“传染性”,通常需要分别实现同步和异步版本,导致代码重复。作者提出通过装饰器将函数转换为可同时支持异步和同步调用的形式,从而简化代码结构,提高可维护性。
🎯
关键要点
- 本文探讨如何编写一个同时支持异步和同步调用的Python函数。
- 在Python中,async/await的“传染性”导致需要分别实现同步和异步版本,造成代码重复。
- 作者提出使用装饰器将函数转换为可同时支持异步和同步调用的形式。
- 通过示例代码,展示了如何实现一个既可异步又可同步调用的函数。
- 使用装饰器后,可以在同一段代码中处理异步和同步逻辑,简化代码结构。
- 在my_func中,需要将所有await关键字替换为yield from以支持异步调用。
- 这种方法提高了代码的可维护性,适用于作者的场景。
➡️