- Python程序設計
- 張雪萍主編
- 1402字
- 2019-06-19 15:48:26
2.1 核心內置數據類型概述
一個對象支持的操作及它的描述是由數據類型來決定的。所以,數據類型非常重要。Python 語言提供了大量內置的、功能比較豐富的數據類型。我們建議在 Python 程序
開發的過程中,盡量使用Python內置的數據類型,這主要基于以下幾個理由[1]:
(1)使用Python內置的數據類型可以讓我們的程序編寫變得更為容易。
(2)很多擴展的程序組件都是基于內置的數據類型來開發或實現的。
(3)使用內置數據類型開發程序比使用自定義的數據結構的效率更高。
(4)內置的數據類型是Python語言的一個標準組成部分,這也是最基本的理由。
Python 的數據類型分為數值類型(包括整型、浮點型等)、序列類型(包括列表、元組、字符串,字符串本質上也是一個序列類型)、集合類型、字典(是一種比較特殊的映射類型)及其他類型。
在具體講解每個數據類型及它所支持的操作之前,經常會檢查一個對象的類型是什么,Python 提供了一個特定的內置函數 type()來實現這類操作。它返回的是一個叫作類型對象的特殊類型,可以把它歸類到其他類型中。
由于Python具有動態類型,在聲明變量的時候,我們不用明確指明它的數據類型是什么,但是我們在學習數據類型的過程中,必須要了解它到底屬于什么類型,以便知道它究竟能進行哪些操作。
1.類型檢測函數type()
使用 type()函數可快速檢查某一個變量或常量的類型,以便確定它們所能進行操作的種類。

說明“8”屬于int型,即整型。但目前我們并沒有把它放到變量中。
“<class'int'>”是一個類型對象,是用來描述數據類型的一個類型對象。

檢測的結果表明,小數“3.14”是float型,即浮點型。
當然也可以檢測變量的類型,例如:

type()函數非常簡單,不管是通過變量名稱還是值都能快速幫我們檢測出某一個對象的實際類型是什么。
2.空對象(None)
Python中還有一個特殊的類型稱為空對象。
空對象(None):一個特殊的常量,表示什么都沒有。
3.布爾(bool)型的本質
Python 中的 bool 型,表示事物的兩種狀態,真(True)或假(False),注意,沒有第三種狀態。通常它用來測試一個結果是“真”或“假”??聪旅娴氖纠?/p>

注意:“5 > 3”或者“5 < 3”其實是一個表達式,表達式是用于創建處理對象的。如“5>3”創建一個對象,“5>3”這個對象是有類型的,可以用type()函數測試所創建的這個對象的類型。
簡單地講,bool型中的True和False對應著int型中的1和0。在有些編程語言里,bool型的True和False與int型的1和0是可以互換的,而有的編程語言中bool型是單獨定義的,比如在C#中,它的bool型和int型的1和0 沒有任何關系。在C語言里當作為條件判斷時,非 0 即為真,0 即為假,這是有差別的。而 Python 里 bool 型就有兩個獨立的常量,True和False。另外,它和int型的1和0 又有著千絲萬縷的關系。

以上示例說明 bool 型的 True 本質和 int 型的 1 是一致的,False 的本質也和 0 一致。在某些編程語言中,只要大于0都算是True,在Python中也是這樣的嗎?


以上結果表明,bool型的True和False只和int型的1和0對應??梢灾苯影裝ool型的True和False當作一個1和0來使用。

另外,bool型也有一個內置函數“bool”,它可以將某個值轉換成bool型的結果。
bool(obj):將對象“obj”轉換成bool型。

注意:本質上“True”等同于1,“False”等同于0,但轉換時就不限于1和0了。轉換的原則是,把各種不同類型的特殊數據當作“False”來處理,非特殊數據當作“True”來處理。

前面介紹了一個特殊的對象“None”,即空對象,空對象是什么都沒有,也把它當作“False”來處理。

各種數據類型的特殊值:數值 0 和 0.0、空字符串''、空列表[]、空元組()、空字典{}、空集合set()等也都當作“False”。
- 數字媒體應用教程
- 自己動手實現Lua:虛擬機、編譯器和標準庫
- Learning SAP Analytics Cloud
- DevOps Automation Cookbook
- Koa開發:入門、進階與實戰
- PHP 編程從入門到實踐
- HTML5+CSS3+JavaScript Web開發案例教程(在線實訓版)
- Xamarin.Forms Projects
- Apache Spark 2.x for Java Developers
- Spring核心技術和案例實戰
- Java程序設計基礎(第6版)
- 深入理解Kafka:核心設計與實踐原理
- Learning Shiny
- Visual C#(學習筆記)
- Moodle 3.x Developer's Guide