您好,登錄后才能下訂單哦!
每種語(yǔ)言都有各種數(shù)據(jù)類型。這就像在現(xiàn)實(shí)生活中,我們計(jì)數(shù)的時(shí)候需要用到數(shù)字,在表述金額、重量、距離等需要精確計(jì)數(shù)時(shí)用到小數(shù),在日常交談中要用文字,等等。在計(jì)算機(jī)語(yǔ)言中,為了表述不同的情況,也需要用到各種數(shù)據(jù)類型。
在 Python 主要有數(shù)值類型(int, float),字符串類型,布爾型和空值。
Python 中整型來(lái)表示整數(shù),正數(shù)或者負(fù)數(shù),沒(méi)有小數(shù)點(diǎn)。10 和 10.0 是兩種數(shù)據(jù)類型。
浮點(diǎn)數(shù)也就是我們常見(jiàn)的帶小數(shù)點(diǎn)的數(shù)字。之所以叫浮點(diǎn)數(shù),是因?yàn)樾?shù)點(diǎn)的位置不固定,也就是浮動(dòng)的。
比如 10.01 可以寫(xiě)為 1.001 10^1,也可以寫(xiě)為 0.1001 10^2。
字符串是最常用的數(shù)據(jù)類型之一,用引號(hào)包裹起來(lái)的就是字符串。在 Python 中,引號(hào)可以是雙引號(hào),也可以是單引號(hào)。但是不能混用。
同時(shí)也可以使用三對(duì)引號(hào)(單雙都可以)來(lái)標(biāo)記多行字符串。
>>> char = 'nemo' # 單引號(hào)
>>> char2 = "python" # 雙引號(hào)
>>> char3 = 'python" # 單雙引號(hào)混用,語(yǔ)法錯(cuò)誤
>>> char4 = 'this 's a pig' # 語(yǔ)法錯(cuò)誤,可以將外面的引號(hào)替換為雙引號(hào),或者使用轉(zhuǎn)義符
>>> char5 = 'this \'s a pig'
Python 中還有很多關(guān)于字符串的操作,將在后續(xù)教程中詳細(xì)講解。
布爾型,只有兩個(gè)值,就是我們通常說(shuō)的真與假,錯(cuò)與對(duì),是和否。
在計(jì)算機(jī)語(yǔ)言中,通常使用布爾值來(lái)表示條件是否成立,條件成立則為 True,不成立則為 False。
>>> 3 > 1
True
>>> 0 < 5
False
>>> 5 == '5'
False
空值 None 是 Python 中的一種特殊數(shù)據(jù)類型,嚴(yán)格意義上來(lái)說(shuō)也不算是一種數(shù)據(jù)類型。空值用來(lái)表示什么都沒(méi)有,空字符串不是空,空的字符串也是字符串,而空值什么都不是。在其他語(yǔ)言或數(shù)據(jù)庫(kù)中用 null 表示。
常見(jiàn)于函數(shù)中,當(dāng)函數(shù)沒(méi)有定義返回值的時(shí)候,默認(rèn)返回的就是 None。
在 Python 中,用于判斷數(shù)據(jù)類型的函數(shù)主要有兩種,type()
和 isinstance()
。type()
函數(shù)用于查看數(shù)據(jù)的類型:
>>> type(5)
<class 'int'>
>>> type(5.0)
<class 'float'>
>>> type('5')
<class 'str'>
isinstance()
用于判斷數(shù)據(jù)的類型,符合返回True
,不符合返回False
:
>>> isinstance(5, int) # isinstance 需要兩個(gè)參數(shù),第一個(gè)是值,第二個(gè)是類型
True
>>> isinstance('5', int)
False
>>> isinstance('5', str)
True
>>> isinstance(True, int)
True
>>> isinstance(True, bool)
True
這里有個(gè)現(xiàn)象isinstance(True, int)
也是符合的,我們上面說(shuō)過(guò) True
是布爾型,怎么int
型也是符合的呢?
其實(shí)布爾型是int
的一種,值只有 0 和 1 罷了。
>>> True == 1
True
>>> False == 0
True
不同的數(shù)據(jù)類型是可以互相轉(zhuǎn)換的。如果要轉(zhuǎn)為整數(shù)類型,可以使用int() 函數(shù),如果轉(zhuǎn)為浮點(diǎn)型,可以使用float() 函數(shù), 如果轉(zhuǎn)為字符串類型,可以使用str() 函數(shù)。目標(biāo)類型 |
函數(shù) |
---|---|
int | int() |
str | str() |
float | folat() |
>>> int('15')
15
>>> int('15a') # 報(bào)錯(cuò),字符串轉(zhuǎn) int ,必須全部是十進(jìn)制的數(shù)字
ValueError: invalid literal for int() with base 10: '15a'
>>> int('1.1') # 報(bào)錯(cuò),看似浮點(diǎn)數(shù)也不行,但是這個(gè)可以用 float 轉(zhuǎn)為浮點(diǎn)數(shù)
ValueError: invalid literal for int() with base 10: '1.1'
>>> float('1.1')
1.1
>>> float('11')
11.0
>>> str(100)
'100'
其余轉(zhuǎn)換情況可自行嘗試。
在 Python 中,任意的數(shù)據(jù)類型,都是對(duì)象!當(dāng)然,還不止于此,在 Python 中所見(jiàn)皆對(duì)象。不過(guò)這句話現(xiàn)在不需要理解,先記住就好。
本結(jié)思考
5 == 5.0,結(jié)果是什么?為什么?
5 is 5.0,結(jié)果是什么?為什么?
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。