- Python語言從入門到精通
- 陳強編著
- 1164字
- 2020-09-18 18:00:35
3.2 數字類型

↑掃碼看視頻
數字類型Numbers用于表示變量或對象的數值。從Python 3開始,只支持int、float、bool、complex(復數)共計4種數字類型,刪除了Python 2中的Long(長整數)類型。在本節中,將詳細講解int、float、bool、complex(復數)這4種數字類型的基本知識。
3.2.1 整型
整型(int)就是整數,沒有小數點,包括正整數、負整數和零。在Python語言中,可以使用如下格式來表示不同進制的整數。

在現實應用中,有如下4種常用的進制標志。
● 0o[00]數字:表示八進制整數,例如:0o24、0O24)。
● 0x[OX]數字:表示十六進制整數,例如:0x3F、0X3F。
● 0b[OB]數字:表示二進制整數,例如:0b101、0B101。
● 不帶進制標志:表示十進制整數。
整型的最大功能是實現數學運算,例如下面的演示過程。

3.2.2 浮點型
浮點型(float)由整數部分與小數部分組成。也可以使用科學計數法表示浮點型,例如2.5e2=2.5×102=250。按照科學計數法表示時,浮點數的小數點位置是可變的,比如,1.23e9和12.3e8的值是相等的。浮點數一般采用常規寫法,如1.23,3.14,-9.01等。但是對于很大或很小的浮點數,就建議采用科學計數法表示,1.23×109可以用1.23e9,或者12.3e8表示,而0.000012可以寫成1.2e-5。
整數和浮點數在計算機內部存儲的方式是不同的,整數運算永遠是精確的(除法也是精確的),而浮點數運算則可能會有四舍五入的誤差。
必須注意的是,只有浮點類型的數值才使用科學計數法表示。例如51200是一個整型的值,但512E2則是浮點型的值。
3.2.3 布爾型
布爾類型是表示邏輯值的簡單類型,布爾型的取值只有True和False(請注意首字母大寫),分別表示邏輯上的“真”或“假”,其返回值分別是“1”和“0”。布爾類型在if、for等控制語句的條件表達式中比較常見,例如if條件控制語句、while循環控制語句、do循環控制語句和for循環控制語句等。
程序中可以直接用True和False表示布爾值,也可以通過布爾運算計算出來,例如下面的演示過程。


布爾值可以用and、or或not進行運算。其中and運算是與運算,只有所有的操作數都為True時,and運算結果才是True,例如下面的演示過程。

or運算是或運算,只要其中有一個操作數為True,or運算的結果就是True,例如下面的演示過程。

not運算是非運算,它是一個單目運算符,能夠實現相反的操作運行,即把True變成False,把False變成True,例如下面的演示過程。

條件判斷應用中經常使用布爾型,例如下面的演示代碼。

3.2.4 復數型
復數型(complex)由實數部分和虛數部分構成,可以用a+bj或者complex(a,b)表示,復數的實部a和虛部b都是浮點型。表3-4列出了int、float和complex的對比。
表3-4 int、float和complex的對比

使用內置的函數type()可以查詢變量的數據類型。

實例文件leixing.py的具體實現代碼如下所示。

執行后將分別顯示4個變量a、b、c、d的數據類型,輸出結果如下所示。

注意事項。
● Python可以同時為多個變量賦值,例如“a,b = 1,2”,表示a的值是1,b的值是2。
● 一個變量通過賦值可指向不同類型的對象。
● 數值的除法“/”總是返回一個浮點數,要想獲取整數,需要使用“//”操作符。
● 在進行混合計算時,Python會把整數轉換成為浮點數。
- 腦動力:Linux指令速查效率手冊
- 計算機應用復習與練習
- Python Data Science Essentials
- STM32G4入門與電機控制實戰:基于X-CUBE-MCSDK的無刷直流電機與永磁同步電機控制實現
- Hands-On Linux for Architects
- Windows內核原理與實現
- 信息物理系統(CPS)測試與評價技術
- 工業控制系統測試與評價技術
- OpenStack Cloud Computing Cookbook
- 學會VBA,菜鳥也高飛!
- Machine Learning with the Elastic Stack
- FANUC工業機器人配置與編程技術
- Unreal Development Kit Game Design Cookbook
- Data Analysis with R(Second Edition)
- Effective Business Intelligence with QuickSight