hjhhg1991 发表于 2019-5-26 00:15:53

关于a is list 和 type(a) is list

a =
a is list
Fault
type(a) is list
True


那 a 是啥呀?

或者说a is _______然后,输出是True的。

ba21 发表于 2019-5-26 00:21:33

list is list
a 不可能是 list
type(a) is list # type(a) ==list

判断一个变量是不是列表,可以是type(a) 也可以是isinstance(a, list)

冬雪雪冬 发表于 2019-5-26 09:43:42

先说一下什么是is,在python中is代表对象(变量,函数,类class等)在同一地址,即是同一个对象,当然肯定是相等的。
举例:
>>> a = 3.14
>>> b = a
>>> a is b
True
a和b指向同一地址,所以为True

>>> a = 3.14
>>> b = 3.14
>>> a is b
False
a和b虽然值相等,但分别储存在不同地址,所以为False

针对你的问题:
a =
a is list
>>> a =
>>> type(a)
<class 'list'>
>>> type(list)
<class 'type'>
可以看出两者不是同一类的对象。
页: [1]
查看完整版本: 关于a is list 和 type(a) is list