在python的内置类型是唯一的

时间:2017-06-12 07:31:14

标签: python built-in-types

我可以假设python的内置命令的类型对象总是相同的吗? 例如:

type([]) == type([1,2,3,4]) == type([{1:1}, True])
type(5) == type(0) == type(2**18) == type(-951)

如果是这样,在比较类型对象时,我可以使用“is”而不是“==”吗? 问题是指所有内置类型。

提前致谢!

1 个答案:

答案 0 :(得分:1)

在Python 2中: 一般来说,是的。但是,整数有点例外:有两种不同类型的整数:intlong s。后者能够保持任意大小的整数,而前者只能保持-2**312**31-1之间的整数。

因此,例如,type(3) is type(2**50)将返回False。但是,如果您使用False而不是==,它会返回is