Python中的Number用于程序中存儲數值類型,Python中的數字有三種類型:int,float和complex。在Python2中有long類型,但在Python3中不再提倡使用long類型。
在Python中可以直接將數字賦值給變量,則就會定義一個數值類型的變量。
x = 5
y = 12.34
z = 3 + 2j
上面就定義了三個Numbers,分別為int類型,float類型和復數類型。
1、int類型
int類型即整數類型,包括正整數,0和負整整,不能包含小數點。
int類型默認為10進制的,我們也可以在程序中使用二進制、八進制和十六進制的整型數字。
二進制以 0b 開始,后面的數字只能是0或1;
八進制以 0o開始,后面的數字只能是0到7的八個數,使用超出7的數字會報錯;
十六進制以 0x開始,后面的數字是有0-9十個數字和A-F六個字母構成,字母大小寫無所謂。
a = 0b1001 #二進制形式
print(a) #輸出 9
b = 0o17 #八進制形式
print(b) #輸出15
c = 0x9F #十六進制形式
print(c) #輸出 159
上面描述的情形如下圖所示:
2、float類型
float類型是含小數點的數字。包括正負浮點數。也可以使用“e”或“E”來定義科學計數法的浮點數。
x = 1.2E3
print(x) #輸出1200.0
y = 12.34e3
print(y) #輸出12340.0
上面的 1.2E3 相當于 1.2*(10*10*10) = 1200.0
3、complex類型
復數類型有兩部分組成:實部和虛部,復數的虛部在Python中使用j來做后綴。上面的例子中,3位實部,2為虛部。
在程序中可以使用complex()函數來創建一個復數或將一個字符串轉換為復數類型。
x = complex(1, 2)
print(x)
y = complex(1)
print(y)
z = complex(-1, -2.4)
print(z)
x = complex("-2+3j")
print(x)
x = complex("-2 + 3j") #會報錯ValueError:complex() arg is a malformed string #畸形字符串
print(x)
以上在Python IDLE中的執行情況如下圖:
上面執行結果中,最后一個出現錯誤,原因在于字符串中間有空格,也就是說將一個復數字符串轉換為復數時,中間不允許有任何的空白字符。
4、數據類型間的轉換
在Python程序中,可以將int類型轉換為float類型,也可以將float類型轉換為int類型;可以將int類型或float類型轉換為complex類型,但不能把complex轉換為int類型或float類型。在把int類型或float類型轉換為complex類型時,其虛部為“0j”。
轉換時可以使用int(),float()和complex()函數來實現。
i = 5
f = 3.5
itf = float(i)
print(itf)
fti = int(f)
print(fti)
itc = complex(i)
print(itc)
ftc = complex(f)
print(ftc)
以上在python IDLE 中的執行情況如下圖:
5、數據類型的判斷
我們可以使用type()函數來判斷一個變量所屬的類型:
x = 5
y = 12.34
z = 3 + 2j
print(type(x)) #<class 'int'> 即int類型的對象
print(type(y)) #<class 'float'>
print(type(z)) #<class 'complex'>
新聞熱點
疑難解答