數(shù)據(jù)類型
Python的數(shù)據(jù)類型可以大致分為如下五類:
- 數(shù)字(numbers)
- 字符(string)
- 元組(tuples)
- 列表(list)
- 字典(dictionary)
數(shù)字
數(shù)字類型是科學(xué)計(jì)算中最常用的類型隧膘,主要有四種:
- 整形(integers, int)
- 長(zhǎng)整型(long integers, long)
- 浮點(diǎn)型(floating point numbers, float)
- 復(fù)數(shù)(complex numbers, complex)
整形與長(zhǎng)整型
整型和長(zhǎng)整型都用與處理整數(shù)辫狼,包括自然數(shù)和負(fù)整數(shù),兩者的不同在于處理整數(shù)的位數(shù)有別:
- 整型
- 在32位機(jī)器上整數(shù)的取值范圍為
~
乍惊,即
~
第煮;
- 在64位系統(tǒng)上解幼,整數(shù)的位數(shù)為64位,取值范圍為
~
包警,即
~
- 在32位機(jī)器上整數(shù)的取值范圍為
- 長(zhǎng)整型
- 跟C語(yǔ)言不同撵摆,Python的長(zhǎng)整數(shù)沒(méi)有指定位寬,即:Python沒(méi)有限制長(zhǎng)整數(shù)數(shù)值的大小害晦,但實(shí)際上由于機(jī)器內(nèi)存有限特铝,長(zhǎng)整數(shù)數(shù)值不可能無(wú)限大。
注意壹瘟,自從Python2.2起鲫剿,如果整數(shù)發(fā)生溢出,Python會(huì)自動(dòng)將整數(shù)數(shù)據(jù)轉(zhuǎn)換為長(zhǎng)整數(shù)(解釋器會(huì)自動(dòng)在賦值后將超過(guò)整型范圍的整數(shù)后面加L)稻轨,所以如今在長(zhǎng)整數(shù)數(shù)據(jù)后面不加字母L也不會(huì)導(dǎo)致嚴(yán)重后果了牵素,編程也更加靈活。
浮點(diǎn)型
浮點(diǎn)型用于處理小數(shù)澄者,在Python中浮點(diǎn)型具有16位精度。例如輸入如下小數(shù):
1.1234567890123456789
運(yùn)行后只保留小數(shù)點(diǎn)以后的前16位:
1.1234567890123457
浮點(diǎn)型有兩種表示方法请琳,即普通的小數(shù)表示方法和科學(xué)計(jì)數(shù)法粱挡,以下兩種定義方法是一樣的:
a = 1000000.
b = 1e6
復(fù)數(shù)
復(fù)數(shù)由實(shí)部和虛部?jī)刹糠纸M成,實(shí)際上實(shí)數(shù)可以看做是虛部為0的復(fù)數(shù)俄精。Python中有兩種方式定義復(fù)數(shù):
- <variable name> = complex(x, y)
- <variable name> = x + yj
其中询筏,x是實(shí)部,y是虛部竖慧,j是虛數(shù)單位嫌套。
布爾型(Boolean)
布爾型只有兩個(gè)值逆屡,即True和False,布爾型也屬于整型踱讨,布爾型通常用于邏輯判斷語(yǔ)句魏蔗。
數(shù)字類型相關(guān)操作
Python在定義變量時(shí)不需要顯式指定數(shù)據(jù)類型,但是允許強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換痹筛,各種數(shù)字類型之間均可以互相轉(zhuǎn)換莺治。
- 整型與浮點(diǎn)型:
print int(3.2), ',', int(4.68), ',', float(5)
輸出為:
3 , 4 , 5.0
- 整型、浮點(diǎn)型與布爾型
print bool(3), bool(0), bool(-1), bool(0.0), bool(3.5)
print int(True), int(False)
輸出為:
True False True False True
1 0
即零對(duì)應(yīng)False帚稠,任何非零數(shù)字對(duì)應(yīng)True谣旁。
- 復(fù)數(shù)與實(shí)數(shù)
實(shí)數(shù)可以轉(zhuǎn)換為復(fù)數(shù),但是復(fù)數(shù)不能轉(zhuǎn)換為實(shí)數(shù):
print complex(3.2), complex(5)
輸出為:
(3.2+0j) (5+0j)
- 浮點(diǎn)數(shù)操作函數(shù)(numpy或math提供)
-
ceil()
:向上取整滋早; -
floor()
:向下取整榄审; -
round()
:截?cái)嘀付ㄎ粩?shù),采用四舍五入的方式杆麸。
-
字符
后文我們要講的字符串是由一組字符構(gòu)成的搁进,對(duì)于單個(gè)字符的定義,和字符串類似角溃,都是用單撇號(hào)拷获、引號(hào)或三引號(hào)包括。實(shí)際上單個(gè)字符和整型之間是可以相互轉(zhuǎn)換的减细,轉(zhuǎn)換函數(shù)為:
-
ord()
:字符轉(zhuǎn)為數(shù)字 -
chr()
:數(shù)字轉(zhuǎn)為字符
print ord('A'), chr(65)
65 A
字符所對(duì)應(yīng)的數(shù)值可以參考ASCII碼表: