0

我读过一篇关于 AsyncIO 的文章并注意到了一些事情。这是那篇文章的代码:

#!/usr/bin/env python3
# countasync.py

import asyncio

async def count():
    print("One")
    await asyncio.sleep(1)
    print("Two")

async def main():
    await asyncio.gather(count(), count(), count())

if __name__ == "__main__":
    import time
    s = time.perf_counter()
    asyncio.run(main())
    elapsed = time.perf_counter() - s
    print(f"{__file__} executed in {elapsed:0.2f} seconds.")

为什么import time声明后if __name__ == "__main__"不在文件开头?根据PEP8 “导入总是放在文件的顶部,就在任何模块注释和文档字符串之后,以及模块全局变量和常量之前”。据我所知,有一些奇怪的包(例如在 Twisted 中),您应该在某个特殊的地方导入它们。但是作者为什么放在import time这里呢?有什么意义吗?

4

0 回答 0