常見內置數值類型 數值類型是不可變類型(immutable type),它包括布爾類型、整數、浮點數與複數。 類型 英文名 構造方式 對應關鍵字 構造函數 布爾 Boolean var = True bool bool() 整數 Integer var = 5 int int() 浮點數 Float ...
常見內置數值類型
數值類型是不可變類型(immutable type),它包括布爾類型、整數、浮點數與複數。
類型 | 英文名 | 構造方式 | 對應關鍵字 | 構造函數 |
---|---|---|---|---|
布爾 | Boolean | var = True |
bool |
bool() |
整數 | Integer | var = 5 |
int |
int() |
浮點數 | Float | var = 5.0 |
float |
float() |
複數 | Complex Number | var = 5.0 + 0j |
complex |
complex() |
數值類型通用運算 - 比較運算
在 Python 中有八種比較運算符,優先順序相同。
運算 | 含意 | 運算 | 含意 |
---|---|---|---|
< |
嚴格小於 (strictly less than) | == |
相等(等於)(equal) |
<= |
小於或等於 (less than or equal) | != |
不等於 (not equal) |
> |
嚴格大於 (strictly greater than) | is |
對象標識 (object identity) |
>= |
大於或等於 (greater than or equal) | is not |
否定的對象標識 (negated object identity) |
小知識:
- 相同類型的序列也可以比較。如果倆個序列長度一致且各自元素按相同的字典順序(lexicographically order)比較結果也相等,那麼這倆個序列相等。
- 除不同的數值類型外,不同類型的對象相等比較的結果總是
False
。
對於某些對象類型(例如,類對象 class object),==
等價於is
。
因此,具有不同標識的類的實例比較結果通常為不相等,除非類定義了__eq__()
方法。 - 如果要確認倆個對象是否屬於同一個類,可以比較二者
type()
返回的結果或比較二者的<object>.__class__.__name__
。
布爾類型
布爾類型只有倆個值,一個是True
,另一個是False
。
常見內置類型被視為False
的情況:
- 被定義為假值的常量:
None
和False
- 任何數值類型的零:
0
,0.0
,0j
,Decimal(0)
,Fraction(0, 1)
- 空的序列和多項集:
''
,()
,[]
,{}
,set()
,range(0)
通俗來講,非空非零即為真。
布爾運算 --- and
, or
, not
這些屬於布爾運算(Boolean Operations),按優先順序排列:
運算 | 結果: | 備註 |
---|---|---|
not x |
if x is false, then True , else False |
|
x and y |
if x is false, then x, else y | 短路運算 |
x or y |
如果 x 為真值,則 x,否則 y | 短路運算 |
整數型、浮點型、複數型
Python完全支持三種數值類型的混合運算,因此平時不必太過在意它們的類型。
在Python中,複數的虛數部分由j
表示,而不是數學中常用的i
。這主要是為了增加代碼在不同字體下的可讀性。
要從一個複數 z 中提取這兩個部分,可使用 z.real
和 z.imag
。
所有數字類型都支持下列運算 :
(複數不支持整數除法、取餘、n次方演算法)
(x // y
為整數除法,結果忽略結果小數點後的數據)
(pow(0,0) = 1
, 0 ** 0 = 1
, 這是編程語言常見的作法)
運算 | 結果: | 運算 | 結果: |
---|---|---|---|
x + y |
x 和 y 的和 | abs(x) |
x 的絕對值或大小(magnitude ) |
x - y |
x 和 y 的差 | c.conjugate() |
複數 c 的共軛 |
x * y |
x 和 y 的乘積 | divmod(x, y) |
(x // y, x % y) |
x / y |
x 和 y 的商 | pow(x, y) |
x 的 y 次冪 |
x // y |
x 和 y 的商數 | x ** y |
x 的 y 次冪 |
x % y |
x / y 的餘數 |
-x |
x 取反 |
ref:
Python 文檔:數字類型 - int, float, and complex
Python 文檔:邏輯值檢測