day04
python3中常用的字符串方法(method)
方法的调用语法:
对象.方法名(方法传参)
说明:
方法的调用同函数调用一样属于表达式。
示例:
‘abc’.isalpha() # 判断’abc’是否全为英文字母
123.isalpha() # 错的,123没有isalpha方法
python3中常用的字符串方法(method)
明确:对字符串的操作方法都不会改变原来字符串的值
1,去掉空格和特殊符号
name.strip() 去掉空格和换行符
name.strip(‘xx’) 去掉某个字符串
name.lstrip() 去掉左边的空格和换行符
name.rstrip() 去掉右边的空格和换行符
2,字符串的搜索和替换
name.count(‘x’) 查找某个字符在字符串里面出现的次数
name.capitalize() 首字母大写
name.center(n,’-’) 把字符串放中间,两边用- 补齐
name.find(‘x’) 找到这个字符返回下标,多个时返回第一个;不存在的字符返回-1
name.index(‘x’) 找到这个字符返回下标,多个时返回第一个;不存在的字符报错
name.replace(oldstr, newstr) 字符串替换
name.format() 字符串格式化
name.format_map(d) 字符串格式化,传进去的是一个字典
3,字符串的测试和替换函数
S.startswith(prefix[,start[,end]])
#是否以prefix开头
S.endswith(suffix[,start[,end]])
#以suffix结尾
S.isalnum()
#是否全是字母和数字,并至少有一个字符
S.isalpha() #是否全是字母,并至少有一个字符
S.isdigit() #是否全是数字,并至少有一个字符
S.isspace() #是否全是空白字符,并至少有一个字符
S.islower() #S中的字母是否全是小写
S.isupper() #S中的字母是否便是大写
S.istitle() #S是否是首字母大写的
4,字符串的分割
name.split() 默认是按照空格分割
name.split(’,’) 按照逗号分割
5,连接字符串
‘,’.join(slit) 用逗号连接slit 变成一个字符串,slit 可以是字符,列表,字典(可迭代的对象)
int 类型不能被连接
6,截取字符串(切片)
str = '0123456789′
print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取
字符串格式化表达式
作用:
生成一定格式的字符串
运算符
%
语法格式:
格式化字符串 % 参数值
或
格式化字符串 % (参数值1, 参数值2, …)
示例:
fmt = “姓名: %s, 年龄: %d”
name = “张飞”
age = 20
print(fmt % (name, age))
占位符 % 和类型码之间的格式语法:
% [格式语法] 类型码(d,s,f等)
格式语法:
- 左对齐
+ 显示正负号
0 补零
宽度
宽度.精度
https://www.runoob.com/python3/python3-string.html
示例:
“%10d” % 123 # ’ 123’
“%-10d” % 123 # ‘123 ’
“%10s” % “abc” # ’ abc’
“%-5s” % ‘abc’ # ‘abc ’
“%+10d” % 123 # ’ +123’
“%010d” % 123 # ‘0000000123’
“%.2f” % 3.1415926535897932 # ‘3.14’
“%7.2f” % 3.1415926535897932 # ’ 3.14’
循环语句(有两种):
while 语句
for 语句
while 语句
作用:
根据一定条件,重复的执行一条语句或多条语句
语法:
while 真值表达式:
语句块1…
else:
语句块2
说明:
1. 先执行真值表达式,测试布尔值为 True 或 False
2. 如果真值表达式的测试值为True,则执行语句1,然后再返回到第1步重复进行测试
3. 如果真值表达式的测试值为False,则执行else子句中的语句块2,然后结束此while语句的执行。如果没有else子句,则直接结束while语句的执行
4. else子句部分可以省略(同if语句类似)
while 语句的注意事项:
- 要控制循环的真值表达式的值来防止死循环
- 通常用真值表达式中的循环变量来控制循环条件
- 通常在循环语句块内需要改变循环变量来控制循环的次数和变量的走向
while 语句嵌套
while语句本身是语句,和其它语句一样可以嵌套在其它复合语句中(如:if语句,while语句,for语句…的内部)
while 语句嵌套示意:
while 真值表达式:
…
while 真值表达式2:
…
else:
…
else:
…
while 嵌套示例:
打印1~20的整数,打印在一行显示,每个数字之间用一个空格分隔:
1 2 3 4 5 6 7 … 18 19 20
打印10行
j = 1
while j <= 10:
for i in range(1, 21):
print(i, end=' ')
print()
j += 1
练习:
输入一个数,打印指定宽度的正方形:
如:
请输入:5
打印正方形如下:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
如:
请输入:3
打印正方形如下:
1 2 3
1 2 3
1 2 3
width = int(input("请输出一个数字:"))
j = 1
while j <= width:
for i in range(1, width+1):
print(i, end=' ')
print()
j += 1
break 语句:
作用:
用于循环语句(while, for语句)中,用来终止当前循环语句的执行
说明:
1. 当break语句执行后,此循环语句break之后的语句将不再执行
2. break语句通常和if语句组合使用
3. break语句终止循环时,循环语句的else子句将不会被执行
4. break语句只能终止当前循环的执行,如果有循环嵌套时,不会跳出嵌套的外重循环
5. break 语句只能在循环语句(while或 for语句)内部使用
i = 3
while i < 10:
print("循环开始时的i =", i)
if i == 5:
break # 跳出当前while语句
print("循环结束时的i =", i)
i += 1
else:
print("我是while语句的else子句的print")
print("程序即将退出, i =", i)
结果:
循环开始时的i = 3
循环结束时的i = 3
循环开始时的i = 4
循环结束时的i = 4
循环开始时的i = 5
程序即将退出, i = 5
死循环 death loop:
- 死循环是指循环条件一直成立的循环
- 死循环通常用break语句来终止循环
- 死循环的else子句永远不会执行