我可以假设python的内置命令的类型对象总是相同的吗? 例如:
type([]) == type([1,2,3,4]) == type([{1:1}, True])
type(5) == type(0) == type(2**18) == type(-951)
如果是这样,在比较类型对象时,我可以使用“is”而不是“==”吗? 问题是指所有内置类型。
提前致谢!
答案 0 :(得分:1)
在Python 2中:
一般来说,是的。但是,整数有点例外:有两种不同类型的整数:int
和long
s。后者能够保持任意大小的整数,而前者只能保持-2**31
到2**31-1
之间的整数。
因此,例如,type(3) is type(2**50)
将返回False
。但是,如果您使用False
而不是==
,它会返回is
。