我注意到一个有趣的行为,但我无法理解。
导入模块时,math对象引用的数量None会减少:
import sys
print(sys.getrefcount(None))
import math
print(sys.getrefcount(None))
结论:
4138
4099
为什么会发生这种情况变得很有趣。如果有人能解释我会很高兴)
我注意到一个有趣的行为,但我无法理解。
导入模块时,math对象引用的数量None会减少:
import sys
print(sys.getrefcount(None))
import math
print(sys.getrefcount(None))
结论:
4138
4099
为什么会发生这种情况变得很有趣。如果有人能解释我会很高兴)
正如专业人士所说:
翻译:
也就是说,事实是 math 没有足够的方法缓存(方法缓存),它从那里删除了不必要的 None 。
当然,我不是专家,但在我看来,它
math需要大量的内存,但None最不必要的操作符。尝试创建一个函数,导入后math,链接会再次减少。