4–1. Python 對象。與全部 Python 對象有關的三個屬性是什麼?請簡單的描述一下。函數
身份、類型、值對象
4–2. 類型。不可更改(immutable)指的是什麼?Python 的哪些類型是可更改的
(mutable),哪些不是?索引
對象的值是否能夠更改被稱爲對象的可改變性字符串
列表、字典屬於可變類型table
數字、字符串、元組處於不可變類型。im
4–3. 類型。哪些 Python 類型是按照順序訪問的,它們和映射類型的不一樣是什麼?tab
字符串、元組、列表是序列類型字典
映射類型相似序列的索引屬性,不過它的索引並不使用順序的數字偏移量取值, 它的元素
無序存放, 經過一個惟一的 key 來訪問字符
4–4. type()。內建函數 type()作什麼?type()返回的對象是什麼?數字
type() 接受一個對象作爲參數,並返回它的類型。它的返回值是一個類型對象
4–5. str() 和 repr()。內建函數 str()與 repr()之間的不一樣是什麼?哪個等價於反
引號(``)運算符?。
repr() 輸出對 Python 比較友好, 而 str()的輸出對人比較友好
repr() 和 `` 作的是徹底同樣的事情,絕大多數狀況下能夠經過求值運算(使用 eval()內建函數)從新獲得該對象
4–6. 對象相等。您認爲 type(a) == type(b)和 type(a) is type(b)之間的不一樣是什麼?
爲何會選擇後者?函數 isinstance()與這有什麼關係?
type(a) == type(b)是對象值的比較,type(a) is type(b)是對象身份的比較, is 是找地址 找地址更快、高效
isinstance()用於判斷一個對象是不是另一個給定類的實例。
4–8. 列表和元組。列表和元組的相同點是什麼?不一樣點是什麼?
不一樣點:列表可修改,元組不可修改;相同點:都是序列類型,元素按從 0 開始的索引順序訪問
4–9. 練習,給定如下賦值:a = 10b = 10c = 100d = 100e = 10.0f = 10.0請問下面各表達式的輸出是什麼?爲何?(a) a is b True(b) c is d True(c) e is f False???