is 与 == 区别 :
is 用于判断两个变量引用对象是否为同一个,就是所引用的对象的内存地址是否一致 == 用于判断引用变量的值是否相等。只判断值和数据类型
id():在内存中存储的位置 type:变量的类型 value:变量的值 ==:type value is:type value id
a = '1' b = a a is b True
a '1'
b '1'
id(a) 140325344997424
id(b) 140325344997424
b [1, 2, 3]
a [1, 2, 3] # a 和 b 都是一个列表 并且元素都想共同
type(a) <type 'list'>
type(b) <type 'list'> # 数据类型相同
id(a) 140332022852640
id(b) 140332022967184 # 但是所指向的内存地址不同
a is b # 导致a is b 返回的是 False False
a == b # 但是两个变量的数值以及数据类型一致 此时a ==b 返回True True