1.身份、类型、值。其中,身份是每一个对象的标识,与内存地址密切相关,可用id()返回;类型决定了对象能够保存什么类型的值,用type()函数、isinstance()函数能够获得对象的类型;值就是对象表示的数据python
2.不可更改指对象建立之后值不能够更新。python中,列表、字典是可更改的,数字、字符串、元组是不可更改的数组
3.类型缓存
字符串、列表、元组是按照顺序访问的,也就是具备切片的特性。函数
映射类型(字典)相似序列的索引,但它的索引不是按顺序的数字来切片,而是经过一个惟一的键或者说关键字来访问,容纳的是哈希键-值对的集合。spa
4.type()返回给定参数的类型。返回的实际是一个输出了字符串的类型对象code
5.不少状况下两者的返回时同样的。不一样点在于,str()返回的对象对用户友好,更适合print。repr()返回的对象对系统友好,返回的是一个字符串的“官方”显示,大部分状况下能够用eval()从新取得原对象。对象
repr()基本等价于反引号``blog
6. type(a) == type(b)索引
调用两次type()函数而后比较两者内存
type(a) is type(b)
用对象身份的比较代替对象值得比较,提升python的效率
7.略
8.相同点都是数组,都是容器类型,都是按顺序读取、访问,具备切片操做。
不一样点在于列表的值是能够更新、可变的,元组是不可更新、不可改变的
9.
>>> a = 10 >>> b = 10 >>> c = 100 >>> d = 100 >>> e = 10.0 >>> f = 10.0 >>> a is b True >>> c is d True >>> e is f False
python会对必定范围内的简单整型进行缓存,在对c和d赋值时python并无建立新对象,因此比较a、b对象或者c、d对象的身份,结果是相同的。
python 2.7中,缓存的范围是(-5,256)