Python數(shù)據(jù)類型
1、Python數(shù)字與基礎(chǔ)的運(yùn)算
Python 支持四種不同的數(shù)值類型:
整型(Int)- 通常被稱為是整型或整數(shù),是正或負(fù)整數(shù),不帶小數(shù)點(diǎn)。
長整型(long integers)- 無限大小的整數(shù),整數(shù)最后是一個大寫或小寫的L。
浮點(diǎn)型(floating point real values)- 浮點(diǎn)型由整數(shù)部分與小數(shù)部分組成,浮點(diǎn)型也可以使用科學(xué)計(jì)數(shù)法表示(2.5e2 = 2.5 x 102= 250)
復(fù)數(shù)(complex numbers)- 復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成,可以用a + bj,或者complex(a,b)表示, 復(fù)數(shù)的實(shí)部a和虛部b都是浮點(diǎn)型。
在Phton中常見的運(yùn)算加、減、乘、除、求余、冪指數(shù)等,同現(xiàn)實(shí)生活中的遵循一樣的優(yōu)先級。即,乘除運(yùn)算高于加減運(yùn)算。例:
Python內(nèi)置復(fù)數(shù)的計(jì)算支持所有常見復(fù)數(shù)的計(jì)算,對復(fù)數(shù)處理的數(shù)學(xué)函數(shù)在模塊cmath中:
2、Python數(shù)據(jù)類型:字符串
字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符。Python字符串最大的特點(diǎn)是不可修改,只能生成新的字符串,用雙引號或單引號都可以表示字符串,多行字符串用三個連續(xù)單引號表示,特殊字符用轉(zhuǎn)義符“\"表示如:制表符"\t",換行符"\n"
字符串的操作:
+鏈接、*復(fù)制、len長度、[start:end:step]用來提取一部分
>>>str='Hello World!'
>>>print? str*2 ? # 輸出字符串兩次
Hello World!Hello World!
>>>print? str+"TEST" ? # 輸出連接的字符串
Hello World!TEST
>>>len('str') ? #輸出字符串的長度
12
python的字串列表有2種取值順序:
從左到右索引默認(rèn)0開始的,最大范圍是字符串長度少1
從右到左索引默認(rèn)-1開始的,最大范圍是字符串開頭
如果你要實(shí)現(xiàn)從字符串中獲取一段子字符串的話,可以使用變量[頭下標(biāo):尾下標(biāo)],就可以截取相應(yīng)的字符串,其中下標(biāo)是從 0 開始算起,可以是正數(shù)或負(fù)數(shù),下標(biāo)可以為空表示取到頭或尾。比如:
s = 'ilovepython'
s[1:5]的結(jié)果是love。
當(dāng)使用以冒號分隔的字符串,python返回一個新的對象,結(jié)果包含了以這對偏移標(biāo)識的連續(xù)的內(nèi)容,左邊的開始是包含了下邊界。
上面的結(jié)果包含了s[1]的值l,而取到的最大范圍不包括上邊界,就是s[5]的值p。
'abcd'[3:1:-1]? #從右到左
'dc'
一些高級操作:
1、split:分割;
>>>s='You are my sunshine'
>>>s.split(' ')
['You' ,'are', 'my' ,'sunshine']
2、join:合并;
>>>t=['one','for','two']
>>>' '.join(t)
'one for two'
3、upper/lower/swapcase:大小寫相關(guān);
4、ljust/center/rjust:排版左中右對齊;
5、replace:替換字串;
>>>t='Mike and Tom'
>>>t.replace('Tom','jane')
'Mike and jane'
python變量的概念和初中代數(shù)的方程變量一致,變量就像貼在東西上的標(biāo)簽,命名規(guī)則:大小寫英文、數(shù)字和下劃線,且不能用數(shù)字開頭,變量可以反復(fù)賦值,而且可以是不同類型的變量
Python容器類型:列表
序列是Python中最基本的數(shù)據(jù)結(jié)構(gòu)。序列中的每個元素都分配一個數(shù)字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。
Python有6個序列的內(nèi)置類型,但最常見的是列表和元組。
序列都可以進(jìn)行的操作包括索引,切片,加,乘,檢查成員。
此外,Python已經(jīng)內(nèi)置確定序列的長度以及確定最大和最小的元素的方法。
列表是最常用的Python數(shù)據(jù)類型,它可以作為一個方括號內(nèi)的逗號分隔值出現(xiàn)。
列表的數(shù)據(jù)項(xiàng)不需要具有相同的類型
創(chuàng)建一個列表,只要把逗號分隔的不同的數(shù)據(jù)項(xiàng)使用方括號括起來即可。
創(chuàng)建列表:[]或list()
>>>[]? #創(chuàng)建空的列表
[]
>>>list() #創(chuàng)建空的列表
[]
>>>alist=['physics','chemistry',1997,2000]
['physics','chemistry',1997,2000]
List(列表) 是 Python 中使用最頻繁的數(shù)據(jù)類型。
列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。它支持字符,數(shù)字,字符串甚至可以包含列表(即嵌套)。
列表用[ ]標(biāo)識,是 python 最通用的復(fù)合數(shù)據(jù)類型。
列表中值的切割也可以用到變量[頭下標(biāo):尾下標(biāo)],就可以截取相應(yīng)的列表,從左到右索引默認(rèn) 0 開始,從右到左索引默認(rèn) -1 開始,下標(biāo)可以為空表示取到頭或尾。
>>>list=['runoob', 786, 2.23, 'john', 70.2]
>>>tinylist=[123, 'john']
>>>print list? # 輸出完整列表
['runoob', 786, 2.23, 'john', 70.2]
>>>'runoob' in alist? #某個元素是否存在
True
>>>print list[0] ? # 輸出列表的第一個元素
runoob
>>>print list[1:3] ? # 輸出第二個至第三個元素
[786,2.23]
>>>print list[2:] ? # 輸出從第三個開始至列表末尾的所有元素
[2.23,'john',70.2]
>>>print tinylist*2 ? # 輸出列表兩次
[123,'john',123,'john']
>>>print list+tinylist ? # 打印組合的列表
['runoob',786,2.23,'john',70.2,123,'john']
Python容器類型:元組
Python的元組與列表類似,不同之處在于元組的元素不能修改。
元組使用小括號,列表使用方括號。
元組創(chuàng)建很簡單,只需要在括號中添加元素,并使用逗號隔開即可。
元組的創(chuàng)建:()或者tuple()
>>>()? #創(chuàng)建空的元組
()
>>>tuple()? #創(chuàng)建空的元組
()
元組中只包含一個元素時(shí),需要在元素后面添加逗號如:tup1=(50,);
>>>tup=(1,True,0.234,"holle")
同列表相似元組適用:
+ :鏈接兩個元組
* :復(fù)制n次,生成新的元組
in :某個元素是否存在
[start:end:step]:切片
值得注意的是元組是不可以更新的(不可變)序列,但我們可以對元組進(jìn)行連接組合生成新的元組如:
>>>tup1=(12,34.56)
>>>tup2=('abc','xyz')
>>>tup3=tup1+tup2
>>>print tup3
(12,34.56,'abc','xyz')
任意無符號的對象,以逗號隔開,默認(rèn)為元組。
Python容器類型:Python字典(Dictionary)
字典是另一種可變?nèi)萜髂P停铱纱鎯θ我忸愋蛯ο蟆?/p>
字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示:
d= {key1:value1,key2:value2}
鍵必須是唯一的,但值則不必。
值可以取任何數(shù)據(jù)類型,但鍵必須是不可變的,如字符串,數(shù)字或元組。
字典是可變類型,可以添加,刪除,替換