人工智慧之Python05 數據類型
計算機最初被設計出來就是用來進行數學計算的,因此,計算機程序理所當然地可以處理各種數值。但是,計算機能處理的遠不止數值,還可以處理文本、圖形、音頻、視頻、網頁等各種各樣的數據,不同的數據,需要定義不同的數據類型。在Python中,能夠直接處理的數據類型有以下幾種:
整數
Python可以處理任意大小的整數,當然包括負整數,在程序中的表示方法和數學上的寫法一模一樣,例如:1,100,-8080,0,等等。
計算機由於使用二進位,所以,有時候用十六進位表示整數比較方便,十六進位用0x前綴和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。
浮點數
浮點數也就是小數。浮點數可以用數學寫法,如1.23,3.14,-9.01,等等。但是對於很大或很小的浮點數,就必須用科學計數法表示,把10用e替代,1.23x10的9次方就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5等等。
整數和浮點數在計算機內部存儲的方式是不同的,整數運算永遠是精確的,而浮點數運算則可能會有四捨五入的誤差。
字元串
字元串是以單引號"或雙引號"括起來的任意文本,比如"123","abc"等等。請注意,""或""本身只是一種表示方式,不是字元串的一部分,因此,字元串"abc"只有a,b,c這3個字元。如果"本身也是一個字元,那就可以用""括起來,比如"I"m OK"包含的字元是I,",m,空格,O,K這6個字元。
如果字元串內部既包含"又包含"怎麼辦?可以用轉義字元來標識,比如:
"I"m "OK"!"
注意:轉義字元可以轉義很多字元,比如
表示換行, 表示製表符,字元本身也要轉義,所以\表示的字元就是,可以在Python的互動式命令行用print()列印字元串看看
print("\
\")
print("\ \")
布爾值
布爾值和布爾代數的表示完全一致,一個布爾值只有True、False兩種值,要麼是True,要麼是False,在Python中,可以直接用True、False表示布爾值(請注意大小寫),也可以通過布爾運算計算出來:
布爾值可以用and、or和not運算。
空值
空值是Python里一個特殊的值,用None表示。None不能理解為0,因為0是有意義的,而None是一個特殊的空值。
此外,Python還提供了列表、字典等多種數據類型,還允許創建自定義數據類型。
類型轉換
接下來介紹幾個跟數據類型緊密相關的函數:int()、float()、str().
int()的作用是將一個字元串或者一個浮點型轉換為一個整數:
a="520"
b=int(a)
print(a)
print(b)
c=5.99
d=int(c)
print(c)
print(d)
i="520"
j=float(i)
print(i)
print(j)
k=520
l=float(k)
print(k)
print(l)
x=5.99
y=str(x)
print(x)
print(y)
z=str(2e12)
print(z)
獲取數據類型信息
有可能需要確定一個變數的數據類型,但是Python其實提供了一個函數,可以明確的告訴我們變數的類型:type()
print("520:")
print(type("520"))
print("5.20:")
print(type(5.20))
print(2e10)
print(type(2e10))
print("True")
print(type(True))
小結
以上數據類型基本上能夠滿足日常工作開發,但python支持更多的數據類型,甚至可以自定義數據類型。
注意:Python的整數沒有大小限制,而某些語言的整數根據其存儲長度是有大小限制的,例如Java的byte,short,int,long都是有長度限制的。
Python的浮點數也沒有大小限制,但是超出一定範圍就直接表示為inf(無限大)。


※Python入門第一件事就要選擇一個好的編譯器,兵器不好怎麼打仗?
※Windows下Python用管理員執行命令或者程序
TAG:Python |