官术网_书友最值得收藏!

2.1 數字類型

2.1.1 基本數字類型

Python基本的數字類型有以下幾種。

? int:有符號整數。

? bool:布爾值。

? float:浮點數。

? complex:復數。

簡單來說,大致只需要知道,數字有正負之分,有的有小數點,有的沒有小數點,這些就夠了。

布爾值就是真或假,它也是整數類型,真值用True表示,對應數字1;假值用False表示,對應數字0。注意這兩個單詞的大小寫。

浮點數就是有小數點的數,而復數基本上是平時用不到的。

2.1.2 不同進制的整數數字表示方式

我們平時使用的數字主要是十進制數,不加任何說明,Python也默認采用十進制數輸出。如果使用的是八進制、十六進制、二進制數,則需要在數字前面加上對應的前綴。

? 以0o或0O(數字0和字母O)開頭的數字代表八進制數。

? 以0x或0X開頭的數字代表十六進制數。

? 以0b或0B開頭的數字代表二進制數。

注意,不管輸入的是何種格式,Python均默認采用十進制數輸出。代碼如下:

img
img

也許你會說你對數制轉換不熟悉,但實際上你經常在做數制的轉換,而且能夠非常熟練地轉換,這個轉換是對時間進行的。例如,1周零1天是幾天?2年零2個月共有幾個月?2小時3分4秒是多少秒?你都能熟練而準確地給出答案。按周計算是七進制,按年計算是十二進制,按小時計算就是六十進制。那么如果一周有8天,1周零1天有多少天呢?一年有16個月,2年零3個月是多少個月呢?這就很明白了吧。

2.1.3 算術運算符

標準運算符有加(+)、減(-)、乘(*)、除(/)、求模(%)和冪(**)運算符。這些運算符是我們平時經常用到的,有些無須特別說明。首先需要解釋的是除法,先看一個例子:

img

這里的除法是“真正的除法”。如果只想得到整數,不出現小數同時舍棄余數,則可以采用如下的形式:

img

要想得到余數,采用模運算(求余):

img

如果既想得到商又想得到余數,則需要借助內建函數:

img
img

冪運算(**)用于計算一個數的N次方,下面的例子是求3的4次方:

img

2.1.4 比較運算符

比較運算符有小于(<)、小于等于(<=)、大于(>)、大于等于(>=)、等于(==)和不等于(!=)。

判斷是否相等的符號采用了雙等號,如果錯誤地寫成了一個等號,那么Python會認為是賦值操作符,而不是比較操作符。

Python還支持連續比較:

img

比較操作最終返回的結果為真或假,上述的兩個例子等價于:

img

第二個連續比較的例子,語法沒有任何錯誤,但是不同的人理解起來不一樣,會有歧義,也就是代碼的可讀性不好。所以推薦做法是全部采用小于號或者全部采用大于號。

2.1.5 邏輯運算符

邏輯運算符有表示與的and、表示或的or和表示非的not(即常說的【與或非】操作)。

and兩邊表達式的結果都為True,最終結果才為True:

img

or兩邊表達式的結果只要有一方是True,最終結果就是True;兩邊全為False,最終結果才為False:

img

not將True變為False,將False變為True:

img

需要特別說明的是,各種運算符都有優先級高低之分。算術運算符的優先級高于比較運算符,比較運算符的優先級高于邏輯運算符。同一級別內的運算符也有優先級高低之分,如算術運算符中,乘除法的優先級比加減法高。然而,優先級高低的順序并不一定必須記住,更好的做法是使用括號:既省去了記憶的麻煩,又提高了可讀性。如下所示:

img

在上面的表達式中,not的優先級比or高,先計算not 10 < 20,再與10 < 30的結果做or運算。如果寫成下面的樣子,則可讀性會更好一些:

img

同樣的道理,下面的四則運算中,冪運算的優先級最高:

img

如果寫成下面的樣子,則可讀性會更好一些:

img
主站蜘蛛池模板: 黄山市| 丽江市| 青冈县| 德清县| 临湘市| 绿春县| 玉屏| 临城县| 阜阳市| 峡江县| 平原县| 太康县| 寻乌县| 锦州市| 临安市| 团风县| 大邑县| 巨鹿县| 马龙县| 江永县| 泸定县| 六枝特区| 富民县| 得荣县| 静安区| 井冈山市| 饶河县| 晋城| 百色市| 馆陶县| 长海县| 钦州市| 明星| 梧州市| 红桥区| 大田县| 开远市| 辛集市| 赞皇县| 彩票| 格尔木市|