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)