Python == 和 is 的区别
is 与 == 有本质上的区别
符号 | 含义 |
---|---|
== | 用来比较两个变量的值是否相等 |
is | 则用来比对两个变量引用的是否是同一个对象 |
import time # 引入time模块
t1 = time.gmtime() # gmtime()用来获取当前时间
t2 = time.gmtime()
print(t1 == t2) # 输出True
print(t1 is t2) # 输出False
time 模块的 gmtime() 方法用来获取当前的系统时间,精确到秒级,因为程序运行非常快,所以 t1 和 t1 得到的时间是一样的(xx.00s)。== 用来判断 t1 和 t2 的值是否相等,所以返回 True。
虽然 t1 和 t2 的值相等,但它们是两个不同的对象(每次调用 gmtime() 都返回不同的对象),所以t1 is t2返回 False。
import time # 引入time模块
t1 = time.gmtime() # gmtime()用来获取当前时间
t2 = t1 # t2、t1引用同一对象
print(t1 == t2) # 输出True
print(t1 is t2) # 输出True