背景:
1:同事聊过这个技术,今天学习一下。
过程:
1:B站尚硅谷?尚硅谷Python零基础入门教程全套完整版(自学Python,资料齐全)_哔哩哔哩_bilibili
"""
1:就像我们生活中会产生垃圾一样,程序在运行过程中也会产生垃圾
程序运行过程中产生的垃圾会影响到程序的运行的运行性能,所以这些垃圾必须及时清理
2:没用的东西就是垃圾
3:在程序中没有被引用的对象就是垃圾
4:在程序中没有被引用的对象就是垃圾,这种垃圾对象过多以后会影响到程序运行的性能
在python中有自动的垃圾回收机制,它会自动将这些没有被引用的对象删除,
所以我们不用手动处理垃圾回收
"""
class A:
def __init__(self):
self.name = 'A类'
# del是一个特殊方法,它会在对象被垃圾回收前调用
def __del__(self):
print('A()对象被删除了~~~', self)
a = A()
b = a
"""
2:做了b=a这个操作后,虽然a在之后为None,但是b还是引用了对象,
(使用变量b,来引用a对应的对象)
所以A对象不是垃圾
"""
print(a.name)
a = None
"""
1:将a设置为了None,此时没有任何的变量对A()对象进行引用,它就是变成了垃圾
"""
# b = None
del a #这是删的a变量
del b #删的b变量 需要没有任何变量引用对象,对象方才被执行垃圾回收
input('回车键退出...')
感受:
1:面试估计要扯,能聊一聊,虽然目前工作中未使用,是个储备。
|