这两个符号在Python的比较判断中应用广泛,但是这两者是有区别的,体现的是对象中的相等和标识符的概念。==符号比较的是两个对象是否相等,而is符号表达的则是标识符相等。
首先赋值一个列表给a,再把a赋值给b
再来看is判断,输出结果是True
这时候a也是等于b的
但是如果我把a复制给c
注意到
然而
让我们来分析下,a赋值给b,实际上是a和b是同一个对象,=符号等于将a这个对象的引用给了b,而后面的list函数则是复制了a这个对象给c。所以a is c返回的是False,因为a和c就不是一个对象,但是a和c是相等的。
领取专属 10元无门槛券
私享最新 技术干货