调皮的控制台

Python 的交互控制台有一个特性是 _ 会自动保存上一个表达式输出的非 None 值.

因此在删除y的以后 SomeClass 实例的引用计数器的值为1,而不是0.

所以 __del__ 不会被调用。

当有新的表达式在控制台输出其他非 None 值时, _ 就会改为保存新的输出值。

这时 SomeClass 实例的引用计数器的值就会变成0,GC就会启动调用 __del__ 并回收对象。

调皮的控制台

相关文章:

  • 2022-12-23
  • 2021-04-06
  • 2021-09-30
  • 2022-01-18
  • 2022-12-23
  • 2022-01-01
  • 2022-01-07
  • 2021-05-06
猜你喜欢
  • 2021-12-05
  • 2022-01-01
  • 2022-01-01
  • 2022-12-23
  • 2021-08-05
  • 2021-07-19
  • 2021-11-08
相关资源
相似解决方案