在将变量分配给另一个值之前删除变量是否可以解决任何内存问题?
Does deleting a variable before assigning it to another value solves any memory issues?
我正在完成 python 中给出的关于 KNN 的大学作业,在该作业中有一个代码块,他们删除了 X_train、Y_train、X_test 和 Y_test 变量,然后再将这些变量分配给其他数据。他们在评论中补充说,它可以防止内存问题。
x = large_dataset
del x
x = another_large_datset // block 1
x = large_dataset
x = another_large_datset // block 2
以上两段代码有什么区别。
谢谢:)
这两个例子都完成了同样的事情 - 它们将值 "any_dataset"
的引用计数减一。使用 del
显式地执行此操作,而覆盖变量则隐式地执行此操作。当一个值对它的引用为零时,它将在将来的某个时候被垃圾收集。
在这种情况下,我看不出任何“内存问题”可以通过一种或另一种方式来避免。
进一步阅读material:
- Python
del
statement
- What happens to overwritten variable in Python?
我正在完成 python 中给出的关于 KNN 的大学作业,在该作业中有一个代码块,他们删除了 X_train、Y_train、X_test 和 Y_test 变量,然后再将这些变量分配给其他数据。他们在评论中补充说,它可以防止内存问题。
x = large_dataset
del x
x = another_large_datset // block 1
x = large_dataset
x = another_large_datset // block 2
以上两段代码有什么区别。
谢谢:)
这两个例子都完成了同样的事情 - 它们将值 "any_dataset"
的引用计数减一。使用 del
显式地执行此操作,而覆盖变量则隐式地执行此操作。当一个值对它的引用为零时,它将在将来的某个时候被垃圾收集。
在这种情况下,我看不出任何“内存问题”可以通过一种或另一种方式来避免。
进一步阅读material:
- Python
del
statement - What happens to overwritten variable in Python?