您的位置:首页 > 编程语言 > Python开发

python学习笔记——‘is’和‘==’的区别

2015-07-12 10:19 656 查看
‘==’的意思是判断两个对象的内容是否一样,而‘is’则是判断两个对象是否为同一个对象。同样的道理适用于‘!=’和‘is not’例如:
>>> x = y = [1, 2, 3]
>>> z = [1, 2, 3]
>>> x == y
True
>>> x == z
True
>>> x is y
True
>>> x is z
False
>>> x.reverse()
>>> x
[3, 2, 1]
>>> y
[3, 2, 1]
>>>
x与y实为同一对象,对x做了翻转,y的值也是翻转了的而下面:
>>> a_list = ['xxx'] * 10
>>> a_list
['xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx']
>>> a_list[0] = 'yyy'
>>> a_list
['yyy', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx']
>>> b_list = [['xxx']] * 10>>> b_list[['xxx'], ['xxx'], ['xxx'], ['xxx'], ['xxx'], ['xxx'], ['xxx'], ['xxx'], ['xxx'], ['xxx']]>>> b_list[0][0] = 'yyy'>>> b_list[['yyy'], ['yyy'], ['yyy'], ['yyy'], ['yyy'], ['yyy'], ['yyy'], ['yyy'], ['yyy'], ['yyy']]>>> 
第一个a_list里实为10个对象,修改了第一个字符串那就是修改了第一个字符串。第二个b_list里实际上就只有一个对象,引用了10次,所以改了b_list[0][0],所有值都变为‘yyy’了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: