1. 程式人生 > >Python入門筆記(2)_ 資料型別及取整運算 round,floor,ceil

Python入門筆記(2)_ 資料型別及取整運算 round,floor,ceil

資料型別

1.  資料型別包括整數、浮點、字串,這些大家都很清楚,關於定義這裡不多說。

不過,關於整數浮點計算要多說兩句。先看如下計算

11 / 4    # ==> 2
11.0 / 4    # ==> 2.75

很奇怪吧,Python把除不盡的整數計算結果也輸出為整數。

那好,問 用Python  0.5 + 10 / 4 的計算結果是什麼?  當然是 5.0。 好的,錯了!!!

計算 0.5 + 10 / 4 時,根據優先順序,Python首先計算 10 / 4,由於這兩個數都是整數,因此計算結果為 2。

然後,繼續計算 0.5 + 2,得到最終計算結果 2.5。

因此,想要得到正確答案, 上式應該寫作 0.5 + 10.0 / 4 !!!

2. 另外是要說說布林值。

布林值和布林代數的表示完全一致,一個布林值只有 TrueFalse兩種值,要麼是 True,要麼是 False,在Python中,可以直接用TrueFalse表示布林值(請注意大小寫),也可以通過布林運算計算出來。

布林值可以用 and , or 和 not 運算。這些意思很簡單,就是與、或、非。

3. 空值

空值是Python裡一個特殊的值,用 None 表示。None不能理解為0,因為0是有意義的,而None是一個特殊的空值。此外,Python還提供了列表、字典等多種資料型別,還允許建立自定義資料型別

這裡要說明的是】:

(1) Python把

 0,空字串‘  ’和 None 看成 False其他數值非空字串都看成 True。

(2)在計算 a and b 時,如果 a 是 False,則根據與運演算法則,整個結果必定為 False,因此返回 a;如果 a 是 True,則整個計算結果必定取決與 b,因此返回 b。

在計算 a or b 時,如果 a 是 True,則根據或運演算法則,整個計算結果必定為 True,因此返回 a;如果 a 是 False,則整個計算結果必定取決於 b,因此返回 b。

好,根據上述, 下面程式碼輸出應該是什麼呢?


print語句大家應該很熟悉吧,可以向螢幕上輸出指定的文字

對了, hello python 和 hello, world

取整運算 round,floor,ceil

round在Python下可以直接呼叫,而floor和 ceil 需要先載入 math 庫。

關於三者的不同,round 遠離 0,floor 總是向小的方向變換,ceil 總是向大的方向變換。

from math import *

print round(4.1), round(4.5), round(4.9)
print round(-4.1),round(-4.5),round(-4.9)

print floor(4.1), floor(4.5), floor(4.9)
print floor(-4.1),floor(-4.5),floor(-4.9)

print ceil(4.1), ceil(4.5), ceil(4.9)
print ceil(-4.1),ceil(-4.5),ceil(-4.9)
執行結果:

4.0 5.0 5.0
-4.0 -5.0 -5.0
4.0 4.0 4.0
-5.0 -5.0 -5.0
5.0 5.0 5.0
-4.0 -4.0 -4.0