每種語言都有各類數據類型。這就像在現實生活中,咱們計數的時候須要用到數字,在表述金額、重量、距離等須要精確計數時用到小數,在平常交談中要用文字,等等。在計算機語言中,爲了表述不一樣的狀況,也須要用到各類數據類型。python
在 Python 主要有數值類型(int, float),字符串類型,布爾型和空值。數據庫
Python 中整型來表示整數,正數或者負數,沒有小數點。10 和 10.0 是兩種數據類型。ide
浮點數也就是咱們常見的帶小數點的數字。之因此叫浮點數,是由於小數點的位置不固定,也就是浮動的。
好比 10.01 能夠寫爲 1.001 10^1,也能夠寫爲 0.1001 10^2。函數
字符串是最經常使用的數據類型之一,用引號包裹起來的就是字符串。在 Python 中,引號能夠是雙引號,也能夠是單引號。可是不能混用。
同時也可使用三對引號(單雙均可以)來標記多行字符串。this
>>> char = 'nemo' # 單引號 >>> char2 = "python" # 雙引號 >>> char3 = 'python" # 單雙引號混用,語法錯誤 >>> char4 = 'this 's a pig' # 語法錯誤,能夠將外面的引號替換爲雙引號,或者使用轉義符 >>> char5 = 'this \'s a pig'
Python 中還有不少關於字符串的操做,將在後續教程中詳細講解。code
布爾型,只有兩個值,就是咱們一般說的真與假,錯與對,是和否。
在計算機語言中,一般使用布爾值來表示條件是否成立,條件成立則爲 True,不成立則爲 False。對象
>>> 3 > 1 True >>> 0 < 5 False >>> 5 == '5' False
空值 None 是 Python 中的一種特殊數據類型,嚴格意義上來講也不算是一種數據類型。空值用來表示什麼都沒有,空字符串不是空,空的字符串也是字符串,而空值什麼都不是。在其餘語言或數據庫中用 null 表示。
常見於函數中,當函數沒有定義返回值的時候,默認返回的就是 None。教程
在 Python 中,用於判斷數據類型的函數主要有兩種,type()
和 isinstance()
。type()
函數用於查看數據的類型:字符串
>>> type(5) <class 'int'> >>> type(5.0) <class 'float'> >>> type('5') <class 'str'>
isinstance()
用於判斷數據的類型,符合返回True
,不符合返回False
:it
>>> isinstance(5, int) # isinstance 須要兩個參數,第一個是值,第二個是類型 True >>> isinstance('5', int) False >>> isinstance('5', str) True >>> isinstance(True, int) True >>> isinstance(True, bool) True
這裏有個現象isinstance(True, int)
也是符合的,咱們上面說過 True
是布爾型,怎麼int
型也是符合的呢?
其實布爾型是int
的一種,值只有 0 和 1 罷了。
>>> True == 1 True >>> False == 0 True
不一樣的數據類型是能夠互相轉換的。若是要轉爲整數類型,可使用int() 函數,若是轉爲浮點型,可使用float() 函數, 若是轉爲字符串類型,可使用str() 函數。目標類型 |
函數 |
---|---|
int | int() |
str | str() |
float | folat() |
>>> int('15') 15 >>> int('15a') # 報錯,字符串轉 int ,必須所有是十進制的數字 ValueError: invalid literal for int() with base 10: '15a' >>> int('1.1') # 報錯,看似浮點數也不行,可是這個能夠用 float 轉爲浮點數 ValueError: invalid literal for int() with base 10: '1.1' >>> float('1.1') 1.1 >>> float('11') 11.0 >>> str(100) '100'
其他轉換狀況可自行嘗試。
在 Python 中,任意的數據類型,都是對象!固然,還不止於此,在 Python 中所見皆對象。不過這句話如今不須要理解,先記住就好。
本結思考5 == 5.0,結果是什麼?爲何?5 is 5.0,結果是什麼?爲何?