計算機顧名思義就是可以做數(shù)學計算的機器,因此,計算機程序理所當然地可以處理各種數(shù)值。但是,計算機能處理的遠不止數(shù)值,還可以處理文本、圖形、音頻、視頻、網(wǎng)頁等各種各樣的數(shù)據(jù),不同的數(shù)據(jù),需要定義不同的數(shù)據(jù)類型。
學習編程,認識不同編程中的數(shù)據(jù)類型是必要的,在Python中,能夠直接處理的數(shù)據(jù)類型有以下幾種:
整數(shù)
整數(shù)和我們生活中定義的整數(shù)是一個概念,例如:1
,2
,3
,10
,100
,1000
,-1000
等等,都是整數(shù),Python可以處理任意大小的整數(shù)。
對于整數(shù),除了生活中常用的十進制以外,計算機由于使用二進制,所以,在計算機中也常用二進制或者十六進制表示整數(shù)。相比十進制數(shù),在Python中使用以下方式表示二進制數(shù)和十六進制數(shù)。
二進制數(shù)只使用數(shù)字0、1表示,在Python中,二進制整數(shù)使用前綴0b
表示,比如:0b0110
,0b1100
。
十六進制數(shù)除了0~9十個數(shù)字以外,還使用a、b、c、d、e、f,在Python中,十六進制使用前綴0x
,比如:0x12ef
,0xde2431af
。
十進制數(shù)、二進制數(shù)和十六進制數(shù)之間是可以相互轉(zhuǎn)換的,如果感興趣的同學,可以學習《編程必備基礎知識》了解更多轉(zhuǎn)換的細節(jié)。
浮點數(shù)
浮點數(shù)對應我們生活的是小數(shù),例如:0.1
,0.5
, 12.34
, 3.1415926
等,都是浮點數(shù)。
為什么小數(shù)在計算機領域被稱為浮點數(shù)呢?這是因為按照科學記數(shù)法表示時,一個浮點數(shù)的小數(shù)點位置是可變的(浮動的),比如,1.23x10^9
和12.3x10^8
是相等的,因此稱為浮點數(shù)。
浮點數(shù)可以用數(shù)學寫法,如1.23
,3.14
,-9.01
。但是對于很大或很小的浮點數(shù),就必須用科學計數(shù)法表示,在Python中,把10用e替代,比如:1.23x10^9
就是1.23e9
,或者12.3e8
,0.000012
可以寫成1.2e-5
,同學可以自行舉出更多的例子。
這里有必要提醒一點就是,整數(shù)和浮點數(shù)在計算機內(nèi)部存儲的方式是不同的,整數(shù)運算永遠是精確的,而浮點數(shù)運算則可能會有四舍五入的誤差,如何檢驗,可以在Python終端中輸入以下內(nèi)容0.1 + 0.2
,看看可以得到你期望的結果0.3
嗎?真實結果可能讓你失望了。
同樣的,這里涉及的原理同學也可以學習上面提到的課程進行進一步原理層面的理解。
字符串
字符串對應生活中的就是非數(shù)字類型的內(nèi)容,比如一個句子,一段話,在Python中就是字符串,在Python中,字符串是以''或""括起來的任意文本,比如'abc',"xyz"等等。請注意,''或""本身只是一種表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c這3個字符。
比如之前練習過的第一個Python程序:print('Hello World')
,其中的Hello World
就是字符串。
布爾值
布爾值對應于生活中的就是對
和錯
,在計算機的世界里,大部分判斷都是非錯則對的,布爾值和布爾代數(shù)的表示完全一致,一個布爾值只有True、False兩種值,要么是True,要么是False,在Python中,可以直接用True、False表示布爾值(請注意大小寫,不需要使用字符串符號括起來),也可以通過布爾運算計算出來。
布爾值可以用and
、or
和not
運算(注意and
,or
,not
都是Python語言本身的關鍵字)。
and
運算是與運算,只有所有都為 True,and運算結果才是 True。
or
運算是或運算,只要其中有一個為 True,or 運算結果就是 True。
not
運算是非運算,它是一個單目運算符,把 True 變成 False,F(xiàn)alse 變成 True。
空值
空值是Python里一個特殊的值,用None
表示。
注意,None和0是不一樣的,None不能理解為0,因為0是有意義的,比如我有0個蘋果表示我沒有蘋果,0表達的是數(shù)值0的意思,而不能表示為我有None個蘋果,None是一個特殊的空值。
此外,Python還提供了列表、字典等多種數(shù)據(jù)類型,還允許創(chuàng)建自定義數(shù)據(jù)類型,我們后面會展開介紹。
請判斷以下數(shù)據(jù)分別屬于什么數(shù)據(jù)類型:
3.1415926
'Learn Python in imooc.'
100
0b1101
可以使用print()將結果打印出來
請驗證,完成請求
由于請求次數(shù)過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報