字符串
字符串的基础结构
字符串:存储一些数据
字符串是有序的,有顺序就意味着有索引,有索引就意味着可以切片和步长
下面是帅帅的外号,一般叫这些,帅帅都会知道是在叫他
print(name[0]) #结果:人
索引:准确而快速的查找
切片:顾头不顾尾
-
固定结构 字符串名[起始索引:终止索引]
-
获取’‘吴彦祖’’
print(name[14:17])
-
获取’‘迷人’'后面的内容
print(name[12:]) #因为是获取迷人后面的内容,知道是从帅开始,但是切片顾头不顾尾,所直接匹配所有即可
-
索引超出会报错,而切片超出不会报错
步长:确定查找的方向和迈的步子
查找偶数位的字符:name[::2]
获取'博一王':name[-1:-4:-1]
淇淇的进阶课堂
判断一个数是不是回文数
num_input = input("请输入进行判断是否回文")
def palin_num(num):
return 1 if num[::] == num[-1::-1] else 0
print("是回文数" if palin_num(num_input) else "不是回文数")
#此题还可以精简,但是为了把切片跟步长都用上,故此这样写
字符串一旦创建就不能被修改(比如淇淇,生下来就不能在回炉重造一样)
字符串的方法
字符串常用方法
#字符串大小写转换
capitalize:将字符串的第一个字母变为大写
casefold:将字符串中的内容变为小写
title:检测字符串中首字母大写,其他字母为小写
upper:将字符串中的小写字母转换为大写字母
isupper:检测字符串中所有的字符是否为大写
lower:将字符串中的大写字母转换为小写字母
islower:判断是不是由小写字母组成
startswith:用于判断字符串是否以指定前缀开头
endswith:用于判断字符串是否以指定后缀结尾
center:返回一个原字符串居中,并使用空格填充至长度width的新字符串。默认填充字符为空格
count:统计字符串里面某个字符出现的次数,可选参数为在字符串搜索的开始与结束位置
encode:以encoding指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案
index:查询字符的索引,index找不到会报错
find:查询字符的索引,find找不到返回-1
format:格式化,替代了占位符(%d,%s,%i)
常用内置函数:format()
join:用于将序列中的字符连成一个新的字符,join后面放的一般是一个可迭代对象
replace:将字符串中旧字符串替换为新字符串
split:对字符串进行分割,返回列表
isalnum:判断是不是由字母,数字组成
isalpha:判断是不是只有字母组成
isdecimal:判断是不是由十进制数字组成,该方法只针对unicode对象
isdigit:判断是不是只由数字组成
字符串所有方法
name = "人见人爱花见花开帅气迷人帅过吴彦祖彭于晏薛之谦王一博"
# capitalize:将字符串的第一个字母变为大写
name = "shuaishuai"
print(name.capitalize()) #Shuaishuai
#casefold:将字符串中的内容变为小写
name = "SHUAISHUAI"
print(name.casefold()) shuaishuai
center:返回一个原字符串居中,并使用空格填充至长度width的新字符串。默认填充字符为空格
name = "shuaishuai"
print(name.center(30,"*")) **********shuaishuai**********
count:统计字符串里面某个字符出现的次数,可选参数为在字符串搜索的开始与结束位置
import re
name = "aaadsabbsdadscadcasdcd\tds\naddsa ddeadsaeefffsssaa\n"
结果:a13d12s10b2c3t1n22e3f3
print(name.count("a"))
dic = {
}
for i in range(len(name)):
dic.setdefault(name[i],name.count(name[i]))
s = ""
print(dic)
for i in re.findall("\w+",str(dic)):
s += "".join(i)
print(s)
淇淇的进阶课堂:将以上代码封装成一个函数
encode:以encoding指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案
name =