python中的常用數據類型:整型(int),浮點型(float),布爾型(bool),復數型(complex), 字符串(str), 列表(list), 元組(tuple),字典(dict),集合(set)
python數據類型之整型(int)
在python中整形用來表示整數,包括負整數和正整數和0,沒有小數部分,而數據的表現類型有二進制,八進制,十進制,十六進制。
# 十進制整數 int_decimalism = 8 print("int_decimalism的數據類型是:", type(int_decimalism)) # int_decimalism的數據類型是: <class 'int'> # 二進制整數 int_binary = 0b1001 print("int_binary的數據類型是:", type(int_binary)) # int_binary的數據類型是: <class 'int'> # 八進制整數 int_octal = 0o472 print("int_octal的數據類型是:", type(int_octal)) # int_octal的數據類型是: <class 'int'> # 十六進制整數 int_hexadecimal = 0x12a3c print("int_hexadecimal的數據類型是:", type(int_hexadecimal)) # int_hexadecimal的數據類型是: <class 'int'>
整數類型理論取值是負無窮到正無窮,但是實際取值范圍受限於計算機的內存
32位的操作系統:-2**31~ 2**31-1
64位的操作系統:-2**63~ 2**63-1
python中常見的數據類型之浮點型(float)
浮點數包括正浮點數和浮點數,浮點型表現的形式有:十進制形式,科學計數形式。只有浮點型才可以使用科學計數形式,比如十進制形式浮點數314,用科學計數形式表示為3.14e2
# 浮點數之十進制表現形式 f1 = 3.14 print("f1的數據類型是:", type(f1)) # f1的數據類型是: <class 'float'> # 浮點數之科學計數形式 f2 = 3.14e2 print("f2的數據類型是:", type(f2)) # f2的數據類型是: <class 'float'> # 負浮點數 f3 = -3.14 print("f3的數據類型是:",type(f3)) # f3的數據類型是: <class 'float'> # 負浮點數的科學計數形式 f4 = -3.14e2 print("f4的數據類型是:",type(f4)) # f4的數據類型是: <class 'float'> # 浮點數的表現形式還有只帶一個小數 f5 = 3. print("f5的數據類型是:", type(f5)) # f5的數據類型是: <class 'float'>
浮點數並不像整型一樣,浮點數計算的結果並不是精確的
f6 = 3.1415 f7 = 5.1413 print("f6和f7的乘積是:", f6 * f7) # f6和f7的乘積是: 16.151393950000003 # 如果要對浮點數進行精確運算,需要導入decimal模塊 import decimal print("兩個浮點數相乘的結果:", decimal.Decimal("3.1415") * decimal.Decimal("5.1413")) # 兩個浮點數相乘的結果: 16.15139395
一般計算機精確的數位為小數點后15位,如果想要再精確到后面的數位
# 如果要對浮點數進行精確運算,需要導入decimal模塊 import decimal # 指定精確位數 decimal.getcontext().prec = 20 print("兩個浮點數相乘的結果:", decimal.Decimal("3.14159264543") * decimal.Decimal("5.1413564773")) # 兩個浮點數相乘的結果: 16.152047696619572744
python的常用數據類型之布爾類型
布爾類型就是用來判斷數據或者表達式的真假,布爾類型只有True和False,而且我們可以把True當成整數1,False當成整數0
a = 1 print("False加上a的值是:", False+a ) # False加上a的值是: 1 print("True加上a的值是:", True+a ) # True加上a的值是: 2
一切代表空的數據類型的布爾值為False
print("0的布爾值是:", bool(0)) print("{}的布爾值是:", bool({})) print("()的布爾值是:", bool(())) print("[]的布爾值是:", bool([])) print("None的布爾值是:", bool(None)) # {}的布爾值是: False # ()的布爾值是: False # []的布爾值是: False # None的布爾值是: False
當一個表達的判斷結果是正確的時候,它的布爾值是True,當一個表達式的判斷結果是錯的,它的布爾值是False,比如
a = 1 b = 2 print("a > b 的布爾值是:", bool(a > b)) print("a < b 的布爾值是:", bool(a < b)) # a > b 的布爾值是: False # a < b 的布爾值是: True
python中常用數據類型之復數
復數是由實部和虛部組成的,復數的表達式為:real + imag*1j
C = 1 + 5j print("C的數據類型是:", type(C)) # C的數據類型是: <class 'complex'>
復數的實部和虛部的數值都是浮點型
C = 1 + 5j print("C的數據類型是:", type(C)) # C的數據類型是: <class 'complex'> print("C的實部:", C.real) # C的實部: 1.0 print("C的虛部:", C.imag) # C的虛部: 5.0
幾種數據類型的相互轉換
轉換為整形
a = 1 b = 3.14 c = "2" e = int(b) f = int(c) g = int() print("e的數據類型是:", type(e), "="*5, "e的值為:", e) print("f的數據類型是:", type(f), "="*5, "f的值為:", f) print("g的數據類型是:", type(g), "="*5, "g的值為:", g) # e的數據類型是: <class 'int'> ===== e的值為: 3 # f的數據類型是: <class 'int'> ===== f的值為: 2 # g的數據類型是: <class 'int'> ===== g的值為: 0
轉換為浮點型
a = 1 b = 3.14 c = "2" e = float(a) f = float(c) g = float() print("d的數據類型是:", type(e), "="*5, "e的值為:", e) print("f的數據類型是:", type(f), "="*5, "f的值為:", f) print("e的數據類型是:", type(g), "="*5, "g的值為:", g) # d的數據類型是: <class 'float'> ===== e的值為: 1.0 # f的數據類型是: <class 'float'> ===== f的值為: 2.0 # e的數據類型是: <class 'float'> ===== g的值為: 0.0
轉換為復數類型
a = 1
b = 3.14
c = "2"
h = complex(a, b)
i = complex(b, a)
j = complex(c)
print("h的數據類型是:", type(h), "="*5, h)
print("i的數據類型是:", type(i), "="*5, i)
print("j的數據類型是:", type(j), "="*5, j)
# h的數據類型是: <class 'complex'> ===== (1+3.14j)
# i的數據類型是: <class 'complex'> ===== (3.14+1j)
# j的數據類型是: <class 'complex'> ===== (2+0j)