找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 54|回复: 7

python大佬 求助

[复制链接]

77

主题

545

回帖

1381

积分

金牌会员

积分
1381
发表于 2018-8-27 09:18:04 | 显示全部楼层 |阅读模式
最近在学习python///

        刚看到运算符。  是关于一个函数  id()
        
         下面附图
   



  

id(a) is id(b)

为什么结果是false。。内存地址明明是一样的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

77

主题

545

回帖

1381

积分

金牌会员

积分
1381
 楼主| 发表于 2018-8-27 09:35:28 | 显示全部楼层

成都第七帅 发表于 2018-8-27 09:33

is比较是的变量的id
你这句代码:Id(a) is Id(b)相当于  Id(Id(a)) == Id(Id(b))

大佬 一语惊醒梦中人。。感谢
回复

使用道具 举报

1

主题

23

回帖

55

积分

注册会员

积分
55
发表于 2018-8-27 09:33:00 | 显示全部楼层
https://docs.python.org/3.7/reference/expressions.html#is

id(a)的处理结果和id(b)的处理结果并不是同一个。
你可以试 id(a) is id(a)
回复

使用道具 举报

24

主题

487

回帖

1110

积分

金牌会员

积分
1110
发表于 2018-8-27 09:23:40 | 显示全部楼层
明明是两个变量,怎么就一样了
回复

使用道具 举报

77

主题

545

回帖

1381

积分

金牌会员

积分
1381
 楼主| 发表于 2018-8-27 09:31:08 | 显示全部楼层

Nya 发表于 2018-8-27 09:23

https://docs.python.org/3.7/reference/expressions.html#is

id(a)的处理结果和id(b)的处理结果并不是同 ...

试了下,,确实 id(a) is id(a) 结果也是false。脑壳痛,正在搜索资料
回复

使用道具 举报

103

主题

726

回帖

1797

积分

金牌会员

积分
1797
发表于 2018-8-27 09:33:01 | 显示全部楼层
is比较是的变量的id
你这句代码:Id(a) is Id(b)相当于  Id(Id(a)) == Id(Id(b))
回复

使用道具 举报

1

主题

23

回帖

55

积分

注册会员

积分
55
发表于 2018-8-27 09:23:00 | 显示全部楼层

wki2012 发表于 2018-8-27 09:33

试了下,,确实 id(a) is id(a) 结果也是false。脑壳痛,正在搜索资料

你实际算的是 Object(id(a)) is Object(id(b)), 每次查询id返回的Object都不一样。id(a) is id(b)就不是正确用法。你应该用 id(a) == id(b).
回复

使用道具 举报

77

主题

545

回帖

1381

积分

金牌会员

积分
1381
 楼主| 发表于 2018-8-27 09:33:08 | 显示全部楼层

Nya 发表于 2018-8-27 09:41

你实际算的是 Object(id(a)) is Object(id(b)), 每次查询id返回的Object都不一样。id(a) is id(b)就不是 ...

发现了。。。感谢提醒
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2025-5-8 00:45 , Processed in 0.019273 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表