'''
时间: 9月5日 - 9月30日
要求:
1. 书本内容总结归纳,整理在博客园笔记上传
2. 完成所有课后习题
注:“#” 后加的是备注内容
(每天看42页内容,可以保证月底看完此书)
“重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题、习题题目- 加粗,16px
'''
重点笔记:
摘要
字符串 - 一个有序的字符的集合,用来存储和表现基于文本的信息。
一. 常见字符串常量和表达式
(列举一些重要的)
操作 | 解释 |
"a%s "% (参数名) | 字符串格式化表达式 |
s.find('pa') | 字符串方法调r用:搜索 |
s.rstrip | 移除空格 |
s.replace('pa','xx') | 替换 |
s.split(',') | 用占位符分隔 |
s.isdigit() | 内容测试 |
s.lower() | 变为小写 |
s.endswith('spam') | 字符串结束测试 |
'spam'.join(strlist) | 插入分隔符 |
s.encode('latin-1') | Unicode编码等 |
for x in s: print (x) | 迭代 |
[c for c in s ] | 字符串列表解析 |
map(ord,s) |
注:反斜杠用来引入特殊的字节编码,是转义序列
二. raw字符串抑制转义
myfile = open (r'C:\python27\lib','w')
等价于: myfile = open ('C:\\python27\\lib','w')
三. 实际应用中的字符串
- 字符码代码转换
>>> ord('s')
115
>>> chr(115)
's'2
四. 字符串方法
dir('s')
可以查看到字符串所有可调用的方法。
五.字符串方法实例:文本解析
>>> line = 'aaa bbb ccc'
>>> list = line.split()
>>> list
['aaa', 'bbb', 'ccc']
字符串split方法将一个字符串分割为一个子字符串的列表,以分隔符字符串为标准。(默认分隔符为空格)
六. 字符串格式化调用方法
>>> import sys
>>> 'My {1[spam]} runs {0.platform}'.format(sys,{'spam':'laptop'})
'My laptop runs win32'
>>> template = '{0},{1} and {2}'
>>> template.format('I',"love",'python')
'I,love and python'
本章习题
1. 字符串find方法能用于搜索列表吗?
答:不能,find是字符串类型特定的,不能和列表类型公用。
2. 字符串切片表达式能用于列表吗?
答:能。
但唯一的差别就是当你对列表进行切片时,你得到的是新列表。
3. 你如何将字符串转成其ASCII 码?你如何反向转换,从证书转换成字符?
答:内置的ord(S)函数可将单个字符串转换成整数字符编码;
chr(I)则是将整数代码转换成字符串。
4. 在Python中,怎么修改字符串?
答:字符串是不可变类型。但可以连接,切片运算,格式化表达式,方法调用等。
5. 已知字符串S的值为"s,pa,m",提出两种从中间抽取两个字符的方式。
答:切片操作s[i:j],
字符串S.strip(',')方法。( s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符 )
6. 字符串"a\nb\x1f\000d"之中有多少字符?
答:a、\n、b、(x1f)、(000)、d