一篇文章帶你弄懂Python基礎之進制和數(shù)據(jù)類型
一、進制
1、什么是進制?
進制也就是進位計數(shù)制,是人為定義的帶進位的計數(shù)方法(有不帶進位的計數(shù)方法,比如原始的結繩計數(shù)法,唱票時常用的“正”字計數(shù)法,以及類似的tally mark計數(shù))。對于任何一種進制---X進制,就表示每一位置上的數(shù)運算時都是逢X進一位。十進制是逢十進一,十六進制是逢十六進一,二進制就是逢二進一,以此類推,x進制就是逢x進位。(來自百度)
通俗的解釋,所謂的進制就是一種計數(shù)時表示的方法,多少進制,就是當滿足此進制時就向高位進一位。
2. 進制轉(zhuǎn)換
Python中可以通過內(nèi)置函數(shù)int()函數(shù)進行二進制轉(zhuǎn)十進制;int()函數(shù)可以將一個指定進制的數(shù)字型字符串或者十進制數(shù)字轉(zhuǎn)化為整型。
語法:
int(object,base)
返回值:返回整型數(shù)據(jù)。
將二進制數(shù)轉(zhuǎn)化為十進制數(shù)
test = ['111011011111', '0b110']
for number in test:
print(int(number, 2))
運行結果:
將八進制數(shù)轉(zhuǎn)化為十進制數(shù)。
test = ['-1537202', '125']
for number in test:
print(int(number, 8))
運行結果 :
二、數(shù)值類型
1. 布爾型
布爾型其實是整型的子類型,布爾型數(shù)據(jù)只有兩個取值:True和False,分別對應整型的1和0。
每一個Python對象都天生具有布爾值(True或False),進而可用于布爾測試(如用在if、while中)。
以下對象的布爾值都是False:
返回值 | 類型 |
False | (布爾型) |
0 | (整型0) |
0L | (長整型0) |
0.0 | (浮點型0) |
0.0+0.0j | (復數(shù)0) |
"" | (空字符串) |
[] | (空列表) |
() | (空元組) |
{} | (空字典) |
- 用戶自定義的 類實例,該類定義了方法 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. 數(shù)值運算中,布爾值True和False分別對應整型的1和0
>>> int(True), int(2 < 1)
(1, 0)
>>> False + 100
100 #輸出結果
>>> True + 100
101 #輸出結果
2. 整型
整型等價于C語言中的有符號長整型(long),與系統(tǒng)的最大整型一致(如32位機器上的整型是32位,64位機器上的整型是64位),可以表示的范圍有限。整型字面值的表示方法有3種:十進制(常用)、二進制(以“0b”開頭)、八進制(以數(shù)字“0”開頭)和十六進制(以“0x”或“0X”開頭)。
>>> a = 0b10100
>>> type(a)
int #輸出結果
>>> a
20 #輸出結果
>>> bin(20), oct(20), hex(20)
('0b10100', '024', '0x14') # 輸出結果
3. 長整型
長整型是整型的超集,可以表示無限大的整數(shù)。長整型字面值的后面帶有字母“L”或“l(fā)”(使用大寫的“L”)。
>>> a = 999 ** 8 # 整型自動轉(zhuǎn)換為長整型
>>> a
8920457944069944027201L
>>> type(a)
long
4. 浮點型
浮點型類似于C中的雙精度浮點型(double)。浮點型字面值可以用十進制或科學計數(shù)法表示,在科學計數(shù)法中,e或E代表10,+(可以省略)或 - 表示指數(shù)的正負。
>>> 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. 復數(shù)
復數(shù)與數(shù)學中的復數(shù)概念完全相同。Python中的復數(shù)有以下幾個特性:
- 復數(shù)由實數(shù)部分和虛數(shù)部分構成,表示為:real+imagj 或 real+imagJ。
- 復數(shù)的實部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基礎,主要講解了進制和數(shù)值類型。通過一個個小項目詳細的講解和圖片的效果展示,以期讓讀者更好的了解Python中進制轉(zhuǎn)換和數(shù)值類型,希望能夠幫助大家更好的學習。