上一篇文章: Python標準庫---八、內置常量
下一篇文章: Python標準庫---十、內置類型:數字類型
如下部分描述瞭解釋器中內置的標準類型。segmentfault
主要內置類型有數字、序列、映射、類、實例和異常。函數
有些多項集類是可變的。 它們用於添加、移除或重排其成員的方法將原地執行,並不返回特定的項,絕對不會返回多項集實例自身而是返回 None。spa
有些操做受多種對象類型的支持;特別地,實際上全部對象均可以被比較、檢測邏輯值,以及轉換爲字符串(使用 repr() 函數或略有差別的 str() 函數)。 後一個函數是在對象由 print() 函數輸出時被隱式地調用的。對象
任何對象均可以進行邏輯值的檢測,以便在 if 或 while 做爲條件或是做爲下文所述布爾運算的操做數來使用。排序
一個對象在默認狀況下均被視爲真值,除非當該對象被調用時其所屬類定義了 __bool__() 方法且返回 False 或是定義了 __len__() 方法且返回零。 下面基本完整地列出了會被視爲假值的內置對象:ip
產生布爾值結果的運算和內置函數老是返回 0 或 False 做爲假值,1 或 True 做爲真值,除非另行說明。 (重要例外:布爾運算 or 和 and 老是返回其中一個操做數。)ci
這些屬於布爾運算,按優先級升序排列:字符串
註釋:get
在 Python 中有八種比較運算符。 它們的優先級相同(比布爾運算的優先級高)。 比較運算能夠任意串連;例如,x < y <= z 等價於 x < y and y <= z,前者的不一樣之處在於 y 只被求值一次(但在兩種狀況下當 x < y 結果爲假值時 z 都不會被求值)。it
此表格彙總了比較運算:
除了不一樣數字類型之外,不一樣類型的對象比較時絕對不會相等。 並且,某些類型(例如函數對象)僅支持簡化比較形式,即任何兩個該種類型的對象一定不相等。 <, <=, > 和 >= 運算符在如下狀況中將引起 TypeError 異常:當比較複數與另外一個內置數字類型時,當兩個對象具備沒法被比較的不一樣類型時,或在未定義次序的其餘狀況時。
具備不一樣標識的類的實例比較結果一般爲不相等,除非類定義了 __eq__() 方法。
一個類實例不能與相同類或的其餘實例或其餘類型的對象進行排序,除非該類定義了足夠多的方法,包括 __lt__(), __le__(), __gt__() 以及 __ge__() (而若是你想實現常規意義上的比較操做,一般只要有 __lt__() 和 __eq__() 就能夠了)。
is 和 is not 運算符沒法自定義;而且它們能夠被應用於任意兩個對象而不會引起異常。
還有兩種具備相同語法優先級的運算 in 和 not in,它們被 iterable 或實現了 __contains__() 方法的類型所支持。
上一篇文章: Python標準庫---八、內置常量
下一篇文章: Python標準庫---十、內置類型:數字類型