讨论区讨论详情

【暑期班】计算机科学和Python编程导论:(==)vs.is
2016-07-18 11:03:53

关于boolean 运算(==)和 is 的简析:

在第六讲中,刚开始做题时,对于== 和 is 有很多疑惑,觉得他们俩个是一样的,结果发现并不相同。


==是布尔运算,是逻辑运算。

is 是类型判断


ig:

L6 Problem 5中第五题:

cList == dList

布尔运算判断的是这两个表中的值是否相同。

cList is dList

结果是False,判断的是两个对象是否是同一个。

检验方法是:可以使用id(),返回结果。

print id(cList )

print id(dList)

result:

151390472
152030600

可以看到这 两个ID不同。

cList是一个列表,dList的初始设置是一个空表,然后选取cList中的每个元素,填充到其中。与cList = dList有本质区别。cList 和dList 是存储到内存不同的地方,因此有两个不同的ID.

cList=dList:

赋值表示d 和 c 使用同一个ID, 指向内存同一个对象。可以把d看做是 c的一个别名使用。


希望这篇文章对大家有帮助。

回复:

还没有人发言哦,来抢沙发吧~

请先登录

说点什么吧~

学堂公告

各位MOOCer大家好 (^-^)V

欢迎来到学堂在线广场~

在这里你可以玩活动,看资讯,晒笔记。

还可以交学友、发心情、聊人生。

在学堂的每一天,就从这里开始吧!

点击 广场指南 了解更多

推荐活动

我要举报
提交