4 常用數值型別(int,float,bool)操作
參考:
Python
數值型別包括整型(integer
),浮點型(floating point number
)和複數(complex number
),並且,布林型(boolean
)是整型的子類
其中,最常用的數值型別包括整型,浮點型和布林型,下面介紹它們的定義和使用方法
主要內容:
- 數值型別轉換
- 整型(
int
),浮點型(float
)和布林型(bool
)的通用操作 - 整型(
int
),浮點型(float
)的通用操作 - 整型(
int
)位運算
數值型別轉換
Python
支援整型(int
),浮點型(float
)和布林型(bool
)的轉換
精度低的型別可以自動轉換為精度高的型別,所以,布林型(
bool
int
),整型(int
)可以轉換為浮點型(float
)。示例如下:對於精度高的型別轉換為低精度的型別,可能會損失精度。示例如下:
整型(int
),浮點型(float
)和布林型(bool
)的通用操作
int
),浮點型(float
)和布林型(bool
)的通用操作整型(int
),浮點型(float
)和布林型(bool
)均支援以下操作(其操作方法按優先順序升序排列,數值運算(numeric operation
)優先順序高於比較操作(comparison operation
))
首先是基本四則運算子:加(
+
),減(-
),乘(*
)和除(/
)操作Note:布林型型別的運算(除了除法)得到的是整型結果
Note:除法(
/
float
)操作符(
//
)同樣執行除法操作,不同的是,它得到的是商的整數部分;操作符(%
)得到的是除法操作的餘數方法
abs()
得到的是輸入數值的絕對值方法
divmod()
得到的是一個tuple
物件,儲存輸入兩個數值之間除法操作得到的整數商和餘數求取
x
的y
次方有兩種方式,使用方法pow()
,或者使用操作符**
整型(int),浮點型(float)的通用操作
整型(int
),浮點型(float
)還支援以下操作
方法 round()
保留了小數精度位數,預設是保留 0
位小數精度,即僅保留整數
另外 3
個方法需要先匯入 math
方法 math.trunc
需要輸入一個數值,返回和該數值最接近的趨向於 0
的整數
方法 math.floor
返回小於等於該數值的整數;方法 math.ceil
返回大於等於該數值的整數
整型(int
)位運算
int
)位運算位運算如下所示(按優先順序升序排列):
Note:位運算子的優先順序均低於數值運算子,但是高於比較運算子;其中,一元操作符(~
)的優先順序和其它一元操作符一致(比如,正 +
和 負 -
)
設變數 x = 13
,其二進位制格式為 1101
, 變數 y = 7
,其二進位制格式為 111
,
首先是或操作,使用符號 |
,所以 x | y = 1101 | 111 = 1111 = 15
接著是異或操作,使用符號 ^
,所以 x ^ y = 1101 | 111 = 1010 = 10
然後是與操作,使用符號 &
,所以 x & y = 1101 & 111 = 101 = 5
最後是按位取反操作,使用符號 ~
,所以 ~x = -x-1 = -14
設 n = 3
運算 x << n
表示將二進位制值 x
向左移動 n
位,所以 x << n = 1101 << 3 = 1101000 = 104
同理,運算子 >>
將值 x
向右移動 n
位,所以 x >> n = 1101 >> 3 = 1
Note:位運算返回的仍是整數
Note:移位操作中移動的位數必須是正數,否則會丟擲 ValueError
異常