编程语言
首页 > 编程语言> > WTF Python课堂(一)

WTF Python课堂(一)

作者:互联网


Hello~大家好~这里是Paradoxical的wtf课堂第一期,接下来Paradoxical会和你一起学习python的奇妙特性哦~


今天学习的是类和对象的相关知识。

图片


可以看到第一句代码和第二句代码对比了两个对象,而两个对象应该是不同。但是第三句代码对比两个对象的哈希值却是相同的。第四句代码对比了两个对象在内存中的地址,也是相同的。这是为啥鸭?来看看解释。

图片


原来是跟对象的生命周期有关。解释中对类进行了改写,让我们更加清晰地看到对象的创建和销毁过程。

第一句代码用is比较两个对象,因为同一行代码连续创建两个对象,第一个对象还没销毁时就创建了第二个对象,所以它们的在内存中的地址不同,用is比较的结果是False。

而第二局代码创建第一个对象后把内存地址传给id()后就销毁了,创建第二个对象时就会在同一个内存地址创建,所以它们的对比它们的内存地址会是True。


标签:销毁,Python,创建,代码,对象,WTF,课堂,内存地址,对比
来源: https://blog.51cto.com/15072921/2582118