每種語言都有各種資料型別。這就像在現實生活中,我們計數的時候需要用到數字,在表述金額、重量、距離等需要精確計數時用到小數,在日常交談中要用文字,等等。在計算機語言中,為了表述不同的情況,也需要用到各種資料型別。
在 python 主要有數值型別(int, float),字串型別,布林型和空值。
python 中整型來表示整數,正數或者負數,沒有小數點。10 和 10.0 是兩種資料型別。
浮點數也就是我們常見的帶小數點的數字。之所以叫浮點數,是因為小數點的位置不固定,也就是浮動的。
比如 10.01 可以寫為 1.001 * 10^1,也可以寫為 0.1001 * 10^2。
字串是最常用的資料型別之一,用引號包裹起來的就是字串。在 python 中,引號可以是雙引號,也可以是單引號。但是不能混用。
同時也可以使用三對引號(單雙都可以)來標記多行字串。
>>> char = 'nemo' # 單引號
>>> char2 = "python" # 雙引號
>>> char3 = 'python" # 單雙引號混用,語法錯誤
>>> char4 = 'this 's a pig' # 語法錯誤,可以將外面的引號替換為雙引號,或者使用轉義符
>>> char5 = 'this \'s a pig'
python 中還有很多關於字串的操作,將在後續教程中詳細講解。
布林型,只有兩個值,就是我們通常說的真與假,錯與對,是和否。
在計算機語言中,通常使用布林值來表示條件是否成立,條件成立則為 true,不成立則為 false。
>>> 3 > 1
true
>>> 0 < 5
false
>>> 5 == '5'
false
空值 none 是 python 中的一種特殊資料型別,嚴格意義上來說也不算是一種資料型別。空值用來表示什麼都沒有,空字串不是空,空的字串也是字串,而空值什麼都不是。在其他語言或資料庫中用 null 表示。
常見於函式中,當函式沒有定義返回值的時候,預設返回的就是 none。
在 python 中,用於判斷資料型別的函式主要有兩種,type()
和isinstance()
。
type()
函式用於檢視資料的型別:
>>> type(5)
>>> type(5.0)
>>> type('5')
isinstance()
用於判斷資料的型別,符合返回true
,不符合返回false
:
>>> 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()
strstr()
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,結果是什麼?為什麼?
Python 極簡教程(三)資料型別
每種語言都有各種資料型別。這就像在現實生活中,我們計數的時候需要用到數字,在表述金額 重量 距離等需要精確計數時用到小數,在日常交談中要用文字,等等。在計算機語言中,為了表述不同的情況,也需要用到各種資料型別。在 python 主要有數值型別 int,float 字串型別,布林型和空值。python...
Python 極簡教程(十四)while 迴圈
迴圈簡單來說就是讓一段 按你想要的方式多次執行。軟體擁有強大的運算能力,就是由迴圈提供的。在 python 中支援的迴圈由兩種 while迴圈 和for迴圈。現在我們先來講while迴圈。while 的中文意思為當 的時候。顧名思義,當條件滿足的時候做什麼事情。來看看 while 語句的格式 whi...
極簡Python學習教程 Class類
眾所周知,python是一門物件導向的程式語言,物件導向的程式語言 自然而然的 跟 類class 不可分割。那什麼是類class呢?類其實就是一種自定義資料型別,跟c 中的 int float double等基本資料型別 相似。類class 包含了 成員變數 和 成員函式 以下是簡單的示例 pyth...