WTF Python课堂(一)


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


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

图片


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

图片


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

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

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

相关文章
相关标签/搜索