参考教材:Python程序设计基础与应用(机械工业出版社/董付国)
由于时间紧迫,故只整理语法,没有写实例,在学习或复习过程中每个语法点都应搭配合适的例子进行练习。
第七章
1.常用转义字符
转义字符 | 含义 |
---|---|
\b | 退格,把光标移动到前一列位置 |
\f | 换页符 |
\n | 换行符 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\\\ | 一个斜线\ |
\‘ | 单引号’ |
\’‘ | 双引号‘’ |
\ooo | 3位八进制数对应的字符 |
\xhh | 2位十六进制数对应的字符 |
\uhhhh | 4位十六进制数表示的Unicode字符 |
2.格式字符
格式字符 | 说明 |
---|---|
%s | 格式化字符串 |
%c | 单个字符 |
%d、%i | 十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数 |
%e | 指数(基底写为e) |
%E | 指数(基底写为E) |
%f、%F | 浮点数 |
%g | 指数(e)或浮点数(根据显示长度) |
%G | 指数(E)或浮点数(根据显示长度) |
%% | 格式化为一个%符号 |
3.字符串常用方法与操作
方法 | 说明 |
---|---|
find() | 返回字符串在另一个字符串指定范围中首次出现的位置,如果没有匹配项则返回-1 |
rfind() | 返回字符串在另一个字符串指定范围中最后一次出现的位置,如果没有匹配项则返回-1 |
index() | 返回字符串在另一个字符串指定范围中首次出现的位置,如果不存在则抛出异常 |
rindex() | 返回字符串在另一个字符串指定范围中最后一次出现的位置,如果不存在则抛出异常 |
count() | 返回一个字符串在另一个字符串中出现的次数,如果不存在则返回0 |
split() | 以指定字符为分隔符,从字符串左端开始将其分隔成多个字符串,并返回包含分隔结果的列表 |
rsplit() | 以指定字符为分隔符,从字符串右端开始将其分隔成多个字符串,并返回包含分隔结果的列表 |
partition() | 以指定字符串为分隔符将原字符串分割为3部分,即分隔符之前的字符串、分隔符字符串和分隔符之后的字符串,如果指定的分隔符不在原字符串中,则返回原字符串和两个空字符串。(从左往右遇到的第一个分隔符作为分隔符) |
rpartition() | 以指定字符串为分隔符将原字符串分割为3部分,即分隔符之前的字符串、分隔符字符串和分隔符之后的字符串,如果指定的分隔符不在原字符串中,则返回原字符串和两个空字符串。(从右往左遇到的第一个分隔符作为分隔符) |
join() | 将列表中多个字符串进行连接,并在相邻两个字符串之间插入指定字符,返回新字符串 |
lower() | 将字符串转换为小写字符串 |
upper() | 将字符串转换为大写字符串 |
capitalize() | 将字符串首写字母变为大写 |
title() | 将每个单词的首字母变为大写 |
swapcase() | 大小写互换 |
replace() | 替换字符串中指定或子字符串的所有重复出现,每次只能替换一个字符或一个字符串,把指定的字符串参数作为一个整体对待 |
maketrans() | 生成字符映射表 |
translate() | 根据映射表中定义的对应关系转换字符串并替换其中的字符 |
strip() | 删除两端的空白字符或指定字符 |
rstrip() | 删除右端的空白字符或指定字符 |
lstrip() | 删除左端的空白字符或指定字符 |
startswith() | 判断字符串是否以指定字符串开始(可以接收两个整数参数来限定字符串的检测范围) |
endswith() | 判断字符串是否以指定字符串结束(可以接收两个整数参数来限定字符串的检测范围) |
isalnum() | 测试字符串是否为数字或字母 |
isalpha() | 测试字符串是否为字母 |
isdigit() | 测试字符串是否为整数字符 |
isspace() | 测试字符串是否为空白字符 |
isupper() | 测试字符串是否为大写字母 |
islower() | 测试字符串是否为小写字母 |
center() | 返回指定宽度的新字符串,原字符串居中出现在新字符串中,如果知指定的宽度大于字符串长度,则使用指定的字符(默认是空格)进行填充 |
ljust() | 返回指定宽度的新字符串,原字符串左对齐出现在新字符串中,如果知指定的宽度大于字符串长度,则使用指定的字符(默认是空格)进行填充 |
rjust() | 返回指定宽度的新字符串,原字符串右对齐出现在新字符串中,如果知指定的宽度大于字符串长度,则使用指定的字符(默认是空格)进行填充 |
第八章
1.正则表达式常用元字符
元字符 | 功能说明 |
---|---|
. | 匹配除换行符以外的任意单个字符 |
* | 匹配位于*之前的字符或子模式的0次或多次出现 |
+ | 匹配位于+之前的字符或子模式的1次或多次出现 |
- | 用来在[]之内表示范围 |
+ | 匹配位于|之前或之后的字符 |
^ | 匹配位于^后面的字符或模式开头的字符串,例如,’^http’只能匹配所有以’http’开头的字符串 |
$ | 匹配以$前面的字符或模式结束的字符串 |
? | 表示问号之前的字符或子模式是可选的。当紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是”非贪心的“。”非贪心的“模式匹配搜索到的、尽可能短的字符串,而默认的”贪心的“模式匹配搜索到的,尽可能长的字符串。例如,在字符串”oooo“中,”o+?“只匹配单个”o”,而“o+”匹配所有“o” |
\ | 表示位于\之后的为转义字符 |
\num | 此处的num是一个正整数,表示前面子模式的编号。例如,”(.)\1”匹配两个连续的相同字符 |
\f | 匹配一个换页符 |
\n | 匹配一个换行符 |
\r | 匹配一个回车符 |
\b | 匹配单词头或单词尾 |
\B | 与\b含有相反 |
\d | 匹配任何数字,相当于【0-9】 |
\D | 与\d含义相反,相当于【^0-9】 |
\s | 匹配任何空白字符,包括空格、制表符、换页符,与[\f\n\r\t\v]等效 |
\S | 与\s含义相反 |
\w | 匹配任何字母、数字以及下划线,相当于[a-zA-Z0-p_] |
\W | 与\w含义相反,与”[^A-Za-z0-9_]等效 |
() | 将位于()内的内容作为一个整体对待 |
{m,n} | 按{}中指定的次数进行匹配,例如[3,8]表示前面的字符或模式至少重复3次而最多重复8次,注意逗号后面不要有空格 |
[] | 匹配位于[]中的任意一个字符,例如,‘【a-zA-Z0-9】可以匹配单个任意大小写字母或数字 |
[^xyz] | ^放在[]内表示反向字符集,匹配除x、y、z之外的任何字符 |
[a-z] | 字符范围,匹配指定范围内的任何字符 |
[^a-z] | 反向范围字符,匹配除小写英文字母之外的任何字符 |
2.常用的子模块拓展语法
语法 | 功能说明 |
---|---|
(?P |
为子模块命名 |
(?iLmsux) | 设置匹配标志,可以是几个字母的组合 ,每个字母含义与编译标志相同 |
(?···) | 匹配但不捕获该匹配的子表达式 |
(?P=proupname) | 表示在此之前的命名为groupname的子模式 |
(?#···) | 表示注释 |
(?<=···) | 用在正则表达式之前,表示如果<=后的内容在字符串中不出现则匹配,但不返回<=之后的内容 |
(?=···) | 用在正则表达式之后,表示如果=后的内容在字符串中出现则匹配,但不返回=之后的内容 |
(?<!···) | 用在正则表达式之前,表示如果<!后的内容在字符串中不出现则匹配,但不返回<!之后的内容 |
(?!···) | 用在正则表达式之后,表示如果!后的内容在字符串中不出现则匹配,但不返回!之后的内容 |
3.re模块常用方法
方法 | 功能说明 |
---|---|
findall(pattern,string[,flags]) | 列出字符串中模式的所有匹配项 |
match(pattern,string[,flags]) | 从字符串的开始处模式匹配,返回match对象或None |
search(pattern,string[,flags]) | 在整个字符串中寻找模式,返回match对象或None |
split(pattern,string[,maxsplit=0]) | 根据模式匹配项分隔字符串 |
sub(pat,repl,string[,count=0]) | 将字符串中所有pat的匹配项用repl替换,返回新字符串,repl可以是字符串或返回字符串的可调用对象,该可调用对象作用于每个匹配的match对象 |
4.match对象的主要方法
方法 | 说明 |
---|---|
group() | 返回匹配的一个或多个子模式内容 |
groups() | 返回一个包含匹配所有子模式内容的元组 |
groupdict() | 返回包含匹配的所有命名子模式内容的字典 |
start() | 返回指定子模式内容的起始位置 |
end() | 返回指定子模式内容的结束位置的前一个位置 |
span() | 返回一个包含指定子模式内容起始位置和结束位置前一个位置的元组 |