您好,登錄后才能下訂單哦!
每種語言都有各種數據類型。這就像在現實生活中,我們計數的時候需要用到數字,在表述金額、重量、距離等需要精確計數時用到小數,在日常交談中要用文字,等等。在計算機語言中,為了表述不同的情況,也需要用到各種數據類型。
在 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)
<class 'int'>
>>> type(5.0)
<class 'float'>
>>> type('5')
<class 'str'>
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() |
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,結果是什么?為什么?
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。