- Python從入門到項目實踐(超值版)
- 聚慕課教育研發中心
- 1218字
- 2020-01-20 14:50:12
3.1 數字類型

數字類型是Python的基礎數據類型之一,主要包括整數類型、浮點數類型和復數類型。Python的數據類型用于存儲數值型數據,例如日常生活中的整數、實數和復數等。它們在賦值存儲后就不可再改變了,如果要改變數值則必須創建新的對象進行賦值。
3.1.1 整數類型

整數類型即對應現實生活中的整數。整數類型的數據包括正整數、負整數和零。不同于Python 2.X,在Python 3.X中沒有Long(長整型)這個類型,也就是Python 3.X中的整型沒有限制。在Python中區分正整數和負整數的方式和生活中一樣采用符號區分,如-100、0、-3等。
雖然Python 3.X已經成為主流,但是依舊可以了解下Python 2.X中的長整型數據。為了標識長整型數據,一般在數據末尾添加大寫或小寫的L(通常情況下小寫L和數字1不易區分,因此常用大寫的L),如5623656L。
為了方便計算和書寫,Python中整數可以用多種不同的進制方式書寫,其格式為0+進制方式(通常為一個大寫字母)+相應進制的數據。具體格式如表3-1所示。
表3-1 進制格式

3.1.2 整數的按位運算

按位運算僅對整數存在意義。按位運算結果的計算如同二進制補碼的計算,用于計算有限位數的整數。理解上是對整數逐位的操作,其主要操作類型和操作類型如表3-2所示。
表3-2 按位運算操作符

【例3-1】運算符。

對于左移和右移運算符,其格式為a <<或>> b,含義為將數字a的二進制位數左移或右移b位。
【例3-2】移位運算。

對于這些常見的位運算其中有幾個要點需要注意。
(1)負數的移位計數為非法操作,其可能導致ValueError錯誤。
(2)左移位,低位空缺補零,高位溢出舍棄;右移位,高位空缺補零,低位溢出舍棄。
(3)左移N位相當于將數乘以2的N次冪;右移N位相當于將數除以2的N次冪。
(4)對于整型數據的操作,實際上都是對其補碼的操作(Python 2.X中Long型的補碼相當于其補碼符號位無限拓展)。
(5)位運算符和普通運算符一樣存在優先級,其優先級由低到高為:

取反運算符>左移運算符>右移運算符>按位與運算符>按位異或運算符>按位或運算符
3.1.3 浮點數

浮點數相對于整數存在小數點,由整數和小數部分組成。浮點數的寫法除了日常寫法外,常見的還包括科學計數法寫法,例如,3e14代表3×10^3。
注意:浮點數的0.0和整數的0在邏輯運算上雖然含義是一樣的,但是在Python中它們的存儲位置卻是不同的,實例如下。
【例3-3】浮點數存儲位置。

3.1.4 復數類型

復數類型對應英文Complex,復數由實數部分和虛數部分構成,可以用生活中的方式a + bj格式表示,或者用complex(a,b)表示,j可大寫也可小寫。
【例3-4】復數運算。

復數的實部的內建屬性為real,復數的虛部的內建屬性為imag,可用于輸出復數的實部和虛部部分。
【例3-5】復數的實部與虛部。

從實部和虛部的輸出格式可以清楚地看到復數的實部a和虛部b都是以浮點型數據進行存儲的。
3.1.5 布爾類型

布爾類型嚴格意義上來講不算數字類型,但是作為Python的基本數據類型之一,還是需要了解和掌握的。
布爾類型只存在兩種值:True和False。布爾類型支持常規的運算,例如與運算、或運算和非運算。
【例3-6】布爾運算。

和其他語言一樣,Python中的True和False同樣可以和1與0等價進行常規運算。
【例3-7】特殊布爾運算。

- Java 開發從入門到精通(第2版)
- Visual FoxPro程序設計教程
- 認識編程:以Python語言講透編程的本質
- Learning Data Mining with Python
- PHP網絡編程學習筆記
- 零基礎學Java程序設計
- Expert Data Visualization
- The Complete Coding Interview Guide in Java
- 小學生C++創意編程(視頻教學版)
- Swift細致入門與最佳實踐
- Kotlin從基礎到實戰
- Mastering ROS for Robotics Programming
- 響應式Web設計:HTML5和CSS3實戰(第2版)
- 網絡數據采集技術:Java網絡爬蟲實戰
- 原型設計:打造成功產品的實用方法及實踐