一篇文章帶你弄懂 Python 基礎之進制和數據類型
一、進制
1、什麼是進制?
進制也就是進位計數制,是人爲定義的帶進位的計數方法(有不帶進位的計數方法,比如原始的結繩計數法,唱票時常用的 “正” 字計數法,以及類似的 tally mark 計數)。對於任何一種進制 ---X 進制,就表示每一位置上的數運算時都是逢 X 進一位。十進制是逢十進一,十六進制是逢十六進一,二進制就是逢二進一,以此類推,x 進制就是逢 x 進位。(來自百度)
通俗的解釋,所謂的進制就是一種計數時表示的方法,多少進制,就是當滿足此進制時就向高位進一位。
2. 進制轉換
Python 中可以通過內置函數 int() 函數進行二進制轉十進制;int() 函數可以將一個指定進制的數字型字符串或者十進制數字轉化爲整型。
語法:
int(object,base)
返回值: 返回整型數據。
將二進制數轉化爲十進制數
test = ['111011011111', '0b110']
for number in test:
print(int(number, 2))
運行結果:
將八進制數轉化爲十進制數。
test = ['-1537202', '125']
for number in test:
print(int(number, 8))
運行 結果 :
二、數值類型
1. 布爾型
布爾型其實是整型的子類型,布爾型數據只有兩個取值:True 和 False,分別對應整型的 1 和 0。
每一個 Python 對象都天生具有布爾值(True 或 False),進而可用於布爾測試(如用在 if、while 中)。
以下對象的布爾值都是 False:
-
用戶自定義的 類實例,該類定義了方法 nonzero() 或 len(),並且這些方法返回 0 或 False。
除上述對象之外的所有其他對象的布爾值都爲 True。
# 1. Python對象的布爾值
>>> bool(None)
False
>>> bool(False), bool(0), bool(0L), bool(0.0), bool(0.0+0.0j)
(False, False, False, False, False)
>>> bool(''), bool([]), bool(()), bool({})
(False, False, False, False)
# 2. 數值運算中,布爾值True和False分別對應整型的1和0
>>> int(True), int(2 < 1)
(1, 0)
>>> False + 100
100 #輸出結果
>>> True + 100
101 #輸出結果
2. 整型
整型等價於 C 語言中的有符號長整型(long),與系統的最大整型一致(如 32 位機器上的整型是 32 位,64 位機器上的整型是 64 位),可以表示的範圍有限。整型字面值的表示方法有 3 種:十進制(常用)、二進制(以 “0b” 開頭)、八進制(以數字 “0” 開頭)和十六進制(以 “0x” 或“0X”開頭)。
>>> a = 0b10100
>>> type(a)
int #輸出結果
>>> a
20 #輸出結果
>>> bin(20), oct(20), hex(20)
('0b10100', '024', '0x14') # 輸出結果
3. 長整型
長整型是整型的超集,可以表示無限大的整數。長整型字面值的後面帶有字母 “L” 或“l”(使用大寫的“L”)。
>>> a = 999 ** 8 # 整型自動轉換爲長整型
>>> a
8920457944069944027201L
>>> type(a)
long
4. 浮點型
浮點型類似於 C 中的雙精度浮點型(double)。浮點型字面值可以用十進制或科學計數法表示,在科學計數法中,e 或 E 代表 10,+(可以省略)或 - 表示指數的正負。
>>> type(1)
int #輸出結果
>>> type(1.0)
float #輸出結果
>>> 1 + 1.0
2.0 #輸出結果
>>> a = 1e-2
>>> a #輸出結果
0.01
>>> type(a)
float #輸出結果
>>> pi = 3.1415926
>>> round(pi)
3.0 #輸出結果
>>> round(pi, 4)
3.1416 #輸出結果
5. 複數
複數與數學中的複數概念完全相同。Python 中的複數有以下幾個特性:
-
複數由實數部分和虛數部分構成,表示爲:real+imagj 或 real+imagJ。
-
複數的實部 real 和虛部 imag 都是浮點型。
>>> a = 1+2j
>>> a
(1+2j) #輸出結果
>>> a.real # 實部
1.0 #輸出結果
>>> type(a.real)
float #輸出結果
>>> a.imag # 虛部
2.0 #輸出結果
>>> type(a.imag)
float #輸出結果
三、總結
本文基於 Python 基礎,主要講解了進制和數值類型。通過一個個小項目詳細的講解和圖片的效果展示,以期讓讀者更好的瞭解 Python 中進制轉換和數值類型,希望能夠幫助大家更好的學習。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/9c1LILz_EwjSue6XPHlPhA