打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
为啥print(id(dd.get('a')) is None)是False?
蜀江水碧蜀山青,圣主朝朝暮暮情。

大家好,我是皮皮。

一、前言

前几天在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 -------------------

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python 初学笔记 - 第一章-变量与注释
一文介绍Python变量的三个特征
Python字典常用方法汇总
通过 Cython 带你认清 Python 变量的本质
【Python 第52课】 元组 20150120052
Python身份运算符
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服