第五章
- 在python语法中,循环体中的语句没有做限制,因此,可以是任何合法语句,当然也可以是循环语句。这样就形成了循环语句的嵌套。
- while循环语句和for循环语句都可以带else子句。
- break语句 // continue语句:break结束整个循环,continue结束当前循环
- pass语句的巧妙使用
第六章
6.1 字符串
- 索引:字符串中字符所在位置可以用索引来标识。索引编号可以从左边开始,使用数字0、1、2、3、4、5、6……来标识;也可从右边开始,使用-1、-2、-3、-4、-5、-6……来标识。
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
s | i | l | e | n | c | e | i | s | g | o | l | d | ||
-15 | -14 | -13 | -12 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
- 子字符串(切片):子字符串或切片是字符串中连续字符的一个序列。
- 例如,以字符串“silence is gold”为例。子字符串“silence”、“is”、“gold”起始位置分别是0、8和11,结束位置分别是6、9和14。
- 访问子字符串的语法格式:字符串变量名[m:n]
- 功能:字符串中取出从m位置-n位置字符串。即以位置m开始,以位置n-1结束的字符串。
- 字符串连接:>>> “micro”+“computer” #形成“microcomputer”
- 字符串重复:>>> "mom"*2 #结果为'mommom'
- 字符串检测:in / not in # 出现返回True,不出现返回False
- 字符串比较运算
- 字符串的常用函数
函数 | 示例 | 值 | 功能描述 |
len(字符串) | len(‘Python语言’) | 8 | 求字符串中字符的数目 |
str(数字) | str(2.71828) | 2.71828 | 把数字转换为字符串 |
chr(编码值) | chr(65) | A | 求编码值对应的字符 |
ord(字符) | ord(“A”) | 65 | 求字符对应的编码 |
- 字符串查找与统计
函数 | 功能描述 |
str1.find(subStr[,start[,end]]) | 从左到右搜索str1,返回subStr在str1首次出现的索引位置 |
str1.rfind(subStr[,start[,end]]) | 从右到左搜索str1,返回subStr在str1首次出现的索引位置 |
str1.index(subStr[,start[,end]]) | 从左到右搜索str1,返回subStr在str1首次出现的索引位置 |
str1.rindex(subStr[,start[,end]]) | 从右到左搜索str1,返回subStr在str1首次出现的索引位置 |
str1.count(subStr[,start[,end]]) | 计算subSt在str1中出现的次数 |
- 字符串转换方法
方法 | 功能描述 |
str1.lower( ) | 将字符串str1转换为小写字符 |
str1.upper( ) | 将字符串str1转换为大写字符 |
str1.capitalize() | 将字符串str1首字母大写,其它字母小写 |
str1.title( ) | 将字符串str1中每个单词的首字母大写,其它字母小写 |
str1.swapcase( ) | 将字符串str1中字符大小写互换 |
- 字符串分割与连接
方法 | 功能描述 |
str1.split(sep=None,maxsplit=-1) | 从str1左端开始,用字符sep将str1分割为多个字符串。maxsplit为分割次数,默认值为-1。sep默认值为空格。 |
str1.rsplit(sep=None,maxsplit=-1) | 从str1右端开始,用字符sep将str1分割为多个字符串。maxsplit为分割次数,默认值为-1。sep默认值为空格。 |
str1.join(iterable) | 将多个字符串连接起来,并在相邻字符串之间插入指定字符。 |
- 删除空白字符
方法 | 功能描述 |
str1.strip(str2 ) | 删除字符串str1两端的空白字符或连续的指定字符(str2中的字符) |
str1.rstrip(str2 ) | 删除字符串str1尾部的空白字符或连续的指定字符(str2中的字符) |
str1.lstrip(str2 ) | 删除字符串str1首部的空白字符或连续的指定字符(str2中的字符) |
方法 | 功能描述 |
str1.startswith(str2 ) | 判断字符串str1是否以指定字符串str2开始 |
str1.endswith(str2 ) | 判断字符串str1是否以指定字符串str2结束 |
- replace()方法 :str1.startswith(str2, str3)方法是用str3来替换字符串str1中指定字符或子字符串str2的所有重复出现,每次只能替换一个字符或子字符串。
>>> str1 = "Python: I like Python very much."
>>> str1
'Python: I like Python very much.'
>>> str1.replace("Python","Java")
'Java: I like Java very much.'
6.2 列表
>>> numint = [1,3 ,6 ,8, 9] #由相同类型整数构成
>>> nums = [5, 8, 0, -9, 3.14, -2.7] #由不同类型构成
>>> words = ['apple','classroom','school','www'] #由字符串构成
>>> score = [[70,80,90], 240] #有的元素是列表
>>> student = ['05191234', '张三', 18, '男', False, 530.5, "电子信息"]
#由不同类型构成
>>> list0 = [ ] #空列表
>>> list1 = [2.7] #只有一个元素列表
>>> lst = ['I','love','you'] #列表封装
>>> [a,b,c] = lst #列表lst拆封,将列表中的元素分别赋给a,b,c
>>> a ='I'
>>> b ='love'
- 列表的创建
- 列表的运算符
- 列表的更新
用法 | 功能描述 |
lst.append(item) | 把元素item添加到列表尾部 |
lst.insert(index, item) | 在列表索引index之前插入元素item |
lst.extend(lst1) | 在列表lst尾部插入列表lst1的所有元素 |
lst.remove(item) | 移除列表中第一个出现的元素item |
lst.pop( ) | 移除列表中最后一个元素 |
del | 移除列表中索引index上的元素 |
del | 移除整个列表lst |
lst[index] = item | 索引index上的元素替换成元素item |
>>> lst1 = [2,4,6,8]; lst2 = ['cat','dog']
>>> lst1.append(10)
>>> lst1=[2, 4, 6, 8, 10]
>>> lst2.insert(1,'goldfish')
>>> lst2=['cat', 'goldfish', 'dog']
>>> lst1.extend(lst2)
>>> lst1=[2, 4, 6, 8, 10, 'cat', 'goldfish', 'dog']
- 列表的常用函数和方法
用法 | 功能描述 |
len(lst) | 返回列表lst中元素的个数 |
max(lst) | 返回列表lst中元素的最大值(元素必须是相同类型) |
min(lst) | 返回列表lst中元素的最小值(元素必须是相同类型) |
sum(lst) | 返回列表lst中元素的和(元素必须是数字) |
lst.count(item) | 返回列表lst中元素item出现的次数 |
lst.index(item) | 返回元素item在列表lst中第一次出现的索引 |
lst.sort( ) | 把列表排序 |
lst.reverse( ) | 把列表中的元素逆序排序 |
sep.join(lst ) | 用分隔符sep把字符串列表lst变成一个字符串 |
zip(lst1,lst2,…) | 将lst1,lst2,…对应位置的元素组成元组,放在zip对象中 |
enumerate(lst) | 枚举列表lst中的元素,返回枚举对象 |
6.3 元组
元组可以看作具有固定值的列表,对元组的访问与列表类似。元组和列表的主要区别在于:元组不可以直接修改。
- 列表属于可变类型,可以随意的修改列表中的元素值,以及增加和删除列表中的元素。而元组属于不可变类型,元组一旦创建,就不能更改其内容。
- 元组的访问和处理速度比列表快。
- 元组可以用作字典的键。而列表则永远都都不能当做字典的键使用。
- 虽然元组属于不可变类型,其元素的值是不可以改变的。但是,如果元组中包含列表等可变序列,情况略有不同。