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. 另外是要說說布林值。
布林值和布林代數的表示完全一致,一個布林值只有 True、False兩種值,要麼是 True
,要麼是 False
,在Python中,可以直接用True
、False
表示布林值(請注意大小寫),也可以通過布林運算計算出來。
布林值可以用 and , or 和 not 運算。這些意思很簡單,就是與、或、非。
3. 空值
空值是Python裡一個特殊的值,用 None 表示。None不能理解為0,因為0是有意義的,而None是一個特殊的空值。此外,Python還提供了列表、字典等多種資料型別,還允許建立自定義資料型別。
【這裡要說明的是】:
(1) Python把
(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