大家好,我是皮皮。
前几天在Python黄金交流群【eric】问了一个Python
基础的问题,这里拿出来给大家分享下。
dd = {}
print(id(dd.get('a')) is None)
这个代码结果你认为输出什么?
这里他自己也在网上找到了一个答案,去掉id 就对了,代码好使:
id(dd.get('a'))
返回的是键'a'对应的值,因为字典中'a'这个键不存在,所以dd.get('a')
会返回None。当使用id()
函数获取对象的id时,如果该对象在内存中不存在,那么它会被创建并分配一个新的唯一标识符。因此,id(None)
返回的ID是固定的,所以id(None) is None
的结果为False,反之亦然。
当使用 dd.get('a')
方法时,如果字典 dd
中没有键为 'a'
的项,则返回 None
。然而,id(None)
返回的是一个 int
类型的内存地址,而不是 NoneType
。因此,id(dd.get('a'))
返回的是 None
对应的内存地址,而不是 None
值本身的内存地址。这个地址不为 None
,因此 id(dd.get('a')) is None
表达式的结果是 False
。
大家好,我是皮皮。这篇文章主要盘点了一个Python
基础的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
最后感谢粉丝【eric】提问,感谢【王子】给出的思路和代码解析,感谢【冯诚】等人参与学习交流。
【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。
------------------- End -------------------
联系客服