正確用法:
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)總是相同的?