Python內置對象預覽正則表達式
對象類型 | 例子常量/建立 |
數字 | 1234, 3.1415, 999L, 3+4j, Decimal |
字符串 | ‘spam', "guido's" |
列表 | [1, [2, 'three'], 4] |
字典 | {'food' : 'spam', 'taste' : 'yum'} |
元祖 | (1, 'spam', 4, 'U') |
文件 | myfile = open('eggs', 'r') |
其餘類型 | 集合,類型,None,布爾型 |
上表中的對象類型被稱做是Python的核心對象類型。數組
1、數字app
整數(int)、浮點數(float)以及更爲少見的類型(無線精度「長」整型,有虛部的複數,固定精度的十進制數以及集合等)。
函數
運算:通常數學運算,「*」表明乘法,「**」表明乘方……
學習
2、字符串ui
就像任意字符的集合同樣,字符串時用來記錄文本信息的。它們是在Python中做爲序列(也就是說,一個包含其餘對象的有序集合)之一。序列中的元素包含了一個從左到右的順序——序列中的元素根據它們的相對位置進行存儲和讀取。從嚴格意義上來講,字符串是一個單字符串的序列,其餘類型的序列還包括了列表和元祖。
編碼
字符串的操做:索引和分片
spa
一、索引:在Python中,索引時按照從最前面的偏移量進行編碼的,也就是從0開始,第一項索引爲0,第二項索引爲1.以此類推。orm
Eg:>>>S = 'spam'
對象
>>>len(S)
4
>>>S[0]
's'
字符串還支持反向索引,從最後一個開始,且一個負的索引號簡單地與字符長度相加,獲得的兩個操做是等效的。
Eg:>>>S[-1]
'm'
>>>S[len(S)-1]
'm'
二、分片(slice):這是一種一步就能提取整個分片的方法。
分片的通常形式爲:X[I:J],表示「取出在X中從偏移量爲I,直到J可是不包括J的內容」。結果就是返回一個新的對象,左邊界爲0。
Eg:>>>S
'spam'
>>>S[1:3]
'pa'
Python容許字符串包括在單引號或是雙引號中(它們表明着相同的東西)。它也可以在三個引號(單引號或雙引號)中表示多行字符串的形式,當採用這種形式的時候,全部的行都合併在一塊兒,並在每一行的末尾增長了換行符。
函數應用:group()與groups()
正則表達式中,group()用來提出分組截獲字符串,()用來分組。
通常,m.group(N)返回第N組括號匹配的字符,而m.group() == m.group(0) == 全部匹配字符,與括號無關,這是API規定的;
m.groups()返回全部括號匹配的字符,以元祖tuple格式,即:
m.groups() == (m.group(0), m.group(1), ……)
3、列表
Python的列表對象時這個語言提供的最通用的序列。列表是一個任意類型的對象的位置相關的有序集合,它沒有固定大小。不像字符串,其大小是可變的,經過對偏移量進行賦值及其餘各類列表方法進行調用,列表確實可以修改其大小。
操做:索引、分片,其餘函數操做。
append():在被選元素的結尾(仍然在內部)插入指定內容。
Eg: >>> L = [123, 'spam', 1.23]
>>> len(L)
3
>>> L[0]
123
>>> L[:-1]
[123, 'spam']
>>> L + [4, 5, 6]
[123, 'spam', 1.23, 4, 5, 6]
>>> L.append('NI')
>>> L
[123, 'spam', 1.23, 'NI']
pop(N):用於刪除並返回數組的倒數第N個元素;
Eg: >>> L.pop(2)
1.23
sort():默認按照升序對列表進行排序;
reverse():對列表進行翻轉。
Eg: >>> M = ['bb', 'aa', 'cc']
>>> M.sort()
>>> M
['aa', 'bb', 'cc']
>>> M.reverse()
>>> M
['cc', 'bb', 'aa']
邊界檢查:儘管列表沒有固定的大小,Python仍不容許引用不存在的元素。
列表解析:它是一種經過在一個序列中運行一個表達式而建立的一個新列表,每次一個,從左至右。列表解析是寫在方括號中的,而且有表達式和循環結構都使用了一個變量名。
Eg:
>>> M = [[1, 2, 3], ]
>>> M = [[1, 2, 3],
... [4, 5, 6],
... [7, 8, 9]]
>>> M
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> col2 = [row[1] for row in M]
>>> col2
[2, 5, 8]
>>> [row[1] + 1 for row in M]
[3, 6, 9]
>>> [row[1] for row in M if row[1] % 2 == 0]
[2, 8]
4、字典
字典不是序列,而是一種映射。映射是一個其餘對象的集合,可是它們是經過鍵而不是相對位置來存儲的。實際上,映射並無任何可靠的從左至右的順序。也具備可變性——能夠改變,並能夠隨需求增大或減少,就像列表那樣。
映射操做:做爲常量編寫時,字典編寫在大括號中,幷包含了一系列的「鍵:值」對。
Eg:
>>> D = {'food':'spam', 'quantity':4, 'color':'pink'}
>>> D['food']
'spam'
>>> D['color']
'pink'
>>> D['quantity'] += 1
>>> D['quantity']
5
注:由於字典不是序列,它們並不包含任何可靠的從左至右的順序。這意味着若是咱們創建一個字典,並將它打印出來,他的鍵也許會以咱們輸入時的時間不一樣的順序出現。
5、元組
元組對象基本上就像一個不能夠改變的列表。就像列表同樣,元組是序列,可是它具備不可變性,和字符串相似。
6、文件
文件對象是Python代碼對電腦上外部文件的主要接口。雖然文件是核心類型,可是它有一些特殊:沒有特定的常量語法建立文件。你調用內置的open函數建立一個文件對象,以字符串的形式傳遞給它一個外部的文件名以及一個處理模式的字符串。
7、其餘核心類型
集合等。
Python腳本中可以處理的全部的事情都是某種類型的對象。
參考文獻:《Python學習手冊 第三版》