0919第四天课程内容:
- break 和 continue在for循环和while循环中的使用方式一样
while…else和for…else: while…else:
当for和while中的条件不满足时,即正常执行结束后,执行else代码
当while中不是正常执行完的,不执行else,如没有执行完,执行break,continue
while循环里的内容执行完后,再执行else
break不再执行else
continue不影响else
- ‘’
- “”
- ‘’’ ‘’’
- “”" “”"
- c=" I’m Tom "
- c=’ I’m Tom’–>报错
- c=‘I’m Tom’–>用\进行转译,'后成功输出
- 字符串下标时系统分配给字符串内每个元素的序号,执行是连续的序号,不能有间隔
- 字符串下标是从0开始,从左往右依次递增
*> 当下标为整数时,从0开始从左往右依次递增- 当下标是负数时,从-1开始从右往左依次递减
- 字符转每一个字符都有两个下标,下标功能一样
- 我们的切片,起始结束的位置范围是一个左闭右开的区间
- 当我们想切到最后一位,可以省略最后一位字符串的下标
str1='chuanzhibokehuanyingni!'
print(str1[2])
print(str1[6])
print(str1[14])
print(str1[16])
print(str1[9])
print(str1[12:22:1])#huanyingni#从下标12开始到22下标,步长为1
print(str1[12:])#huanyingni!#从12下标开始,到最后一位字符,步长为1时可省略,不写时默认步长为1
print(str1[:12])#chuanzhiboke#从头取值到下标为12 结束
print(str1[:])#chuanzhibokehuanyingni!#从头取到尾,取全部
- 语法格式:字符串[开始下标:结束下标:步长]
- 截取的位置,就是开始结束位置的元素,根据步长进行筛选,切片区间是左闭右开的区间
- 步长可以省略,省略步长默认步长是1,且省略步长时,应同时省略步长前的冒号。
- 当切片范围内无字符,返回一个空字符串
*进行字符串反转操作str1[::-1]- 使用字符串切片,获取了一个新的字符串,而没有对原有字符串进行修改
步长为正
- 开始位置下标可以省略,省略后开始位置从0开始
- 结束位置的下标也可以省略,省略后的切片到字符串终止位置结束(包含终止位置)
步长为负
- 开始位置的下标可以省略,省略后位置从字符串终止开始
- 结束位置下标页可以省略,省略后切片到字符串开始结束(包含开始位置)
str1='chuanzhibokehuanyingni!'
print(str1[::-1])#!ingniynauhekobihznauhcstr1='chuanzhibokehuanyingni!'
print(str1[-1:-4:-1])#!in
print(str1[-4:-1:-1])#无法选出数据,方向不一致
print(str1[-1:-4:1])#无法选出数据,方向不一致
- 必须保持方向一致
find()查找指定范围内字符串中所包含子字符串的位置
- 从左至右查询,查询到则返回子字符串的首字符下标,没有找到则返回-1
- 只能返回一个下标
index()查找指定范围内字符串中所包含子字符串的位置
- 从左至右查询,查询到则返回子字符串的首字符下标,没有找到报错
- 只能返回一个下标
count():计算指定范围内子字符串在字符串中出现的次数
rfind():从右至左查询,使用方法与find相同
Rindex():从右至左查询,使用方法与index相同
- replace函数替换原有字符串的中的子字符串
- replace(旧值,新值,替换次数)
- str类型是不可变的数据,str内部的数据不可被修改
replace函数有返回值,返回值是修改后的字符串
调用replace函数后,发现原有字符串的数据并没有做到修改,修改后的数据是replace函数的返回值
字符串是不可变的数据类型
数据是否可以改变,
split():按指定字符分割
split(分隔符,分割次数)
join():组合字符串
分隔符·join(列表{里面是字符串数据})
list1=[12,34,56]
# ' '.join(list1)
print(' '.join(list1))
capitalize():字符串首字母大写
title():字符串中每个单词的首字母大写
*除了字母以外都是分隔符,分隔符后的字母一定要大写
- 除了首字母以外,其他字母会自动变成小写
lower():所有字母小写
upper():所有字母大写
- lstrip():删除左侧空白字符
- rstrip():删除右侧空白字符
- strip():删除两侧空白字符
*strip(指定字符):从字符串两边往中间查询有指定任意字母进行删除,
*strip(多个字符):删除字符串两侧多个字符,删除的字符顺序和个数无所谓
str1='123123ddddsf123321'
print(str1.strip('123'))#ddddsfstr1='123123ddddsf1234321'
print(str1.strip('123'))#ddddsf1234
ljust(长度):左对齐,剩余字符用空格填充
ljust(长度,填充字符):如:
ljust(5,’*’) rjust():右对齐
center():居中对齐
startswith(字串,开始位置下标,结束位置下标):左闭右开
判断字符串是否以某个子串开头的;返回结果:True ,False
endswith():判断是否以某个子串结尾
isalpha():判断非空字符串,如果字符串中都是字母,返回:True
- 除了数字和特殊符号,都为认为为字母
- 给字符串指定编码格式可以筛选出纯英文字母
'apple'
print(str3.encode('utf-8').isalpha())
isdigit():判断是否为数字,数据全都为数字,返回:True
isalnum():数字或字母或数字字母组合,都返回:True
isspace():判断是否都是空格,都为空格返回:True
isnumric():可以判断中文数字
str4='123三'
print(str4.isdigit())#False
print(str4.isdecimal())#False
print(str4.isnumeric())#Ture
str1='dvfvvd'print(str1.isalpha())#判断是否全部为字母
print(str1.isalnum())#数字、字母、组合
print(str1.isdigit())#数字
print(str1.isspace())#为空格
True
True
False
False
str2='apple苹果'
print(str2.isalpha())#True
列表的定义:变量名=[元素1,元素2,元素3…]
* 列表可以存储不同类型的数据
调用时可以整体调用,也可以使用下标获取对应元素
- 正数下标:从0开始,从左至右依次递增
- 负数下标:从-1开始,从右至左依次递减
函数:
index():存在返回下标,不存着返回报错
count():查询元素的数量
len():获取容器长度,列表中数据的个数find():在列表中没有此方法,强行使用会报错AttributeError(属性错误)
str1=['chao','ji','ma','li']
print(len(str1))
print(str1.index('li'))
print(str1.count('li'))
元素 in 容器(注意在使用时,元素在前,容器在后,字符串类型判断存在时,顺序错误也不会报错,执行后报错)
- 建议判断的是字符串类型,为了避免错误,建议使用count
判断元素是否存在列表:in
str1=['Tom','lily','lisa']
print("Tom" in str1)
#True
判断元素是否不存在列表:not in
str1=['Tom','lily','lisa']
print('tom' not in str1)
#True
一般使用如上方法判断的列表或者字符串,容器的数据量不会很大。
append():在列表末尾追加元素
追加数据为整个序列,整个追加到列表的最后
expend()
insert()
列表是可变数据