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学习手册 第三版》