本文共 419 字,大约阅读时间需要 1 分钟。
在以前的面试中,有一次被问到is的用法,当场懵逼,今天有空整理了一下这两个运算符的简单用法。
首先,==运算符是用来测试两个被引用对象是否有相同的值。举个例子:
l = [1, 2, 3]m = l[:]print(m == l) # 输出True
这里,m是l的一个拷贝,所以m == l返回True。
而is运算符则是用来检查对象的同一性。也就是说,它会检查两个对象是否指向同一个对象。举个例子:
l = [1, 2, 3]m = [1, 2, 3]n = lprint(l is m) # 输出Falseprint(n is l) # 输出True
因为m是另外一个对象的引用,所以l is m返回False。
需要注意的是,在Python中,小整数和字符串会被缓存并复用。所以:
l = 2m = 2print(l is m) # 输出True
这就是is运算符有趣的地方,它不仅仅是用来比较值,还可以用来检查对象的身份。
转载地址:http://silfk.baihongyu.com/