正确用法:

from loguru import logger


class Parser:
    pass

# ✅ 正确的用法
ps = [Parser() for i in range(10)]
for p in ps:
    print(id(p))

错误用法:

from loguru import logger


class Parser:
    pass


# ❌ 错误的用法
for i in range(10):
    p = Parser()
    print(id(p))

为什么是错误的?因为 GC,GC 之后,这个对象的内存就空出来了,就会被复用

参考官方文档:library functions: id
还有这个 issue:为什么id(GreenThread)总是相同的?


universe_king
3.4k 声望678 粉丝