python学习_008
字符串
一个个字符组成的有序序列 是字符的集合
使用单,双,三 引号引住的字符序列
字符串是不可变对象
#转义字符将不会生效
x= R' C:\symbols '
x1 =1
#将某个变量转换字符串 支持 3.6 以上版本
y=f"{x}{x1}"
字符串简单方法
x="mingyue"
#将字符串转换成列表
list(字符串)
#将字符串转换成元组
tuple(字符串)
# 对字符串进行拼接 "要拼接的内容".join(可迭代对象) 但是要求可迭代对象必须是 字符类型 返回一块新的字符串
"".join(x) #'m,i,n,g,y,u,e'
# map(类型,可迭代对象) 将可迭代对象 转换成指定类型 返回 一个指针 指向 某块地址
lis1= [1,2,4,"j"]
",".join(map(str,lis1)) #'1,2,4,j'
字符串分割
split(str=" ",maxsplit=-1)
尽量多的对字符串进行切割 并把作为分割的所有字符,删掉
maxsplit 可以指定切割次数 默认为 -1
默认分割符为 空格
返回一个分割后的列表
x="m i n g y u e"
x.split() #['m', 'i', 'n', 'g', 'y', 'u', 'e']
x.split(maxsplit=2) #['m', 'i', 'n g y u e']
y="mingyue"
y.split("m") #['', 'ingyue']
partition()
只切一刀,常被用于处理文件名后缀 从左边开始处理
rpartition() 从有右边进行处理
返回一个 三个元素的元组
并且不会删除 匹配到的分割符号
必须指定 切割符号
x="m i n g y u e"
x.partition(' ') # ('m', ' ', 'i n g y u e')
x.rpartition(' ') # ('m i n g y u', ' ', 'e')
字符大小写
- upper() 全大写
- lower() 全小写
- swapcase() 交换大小写
- title() 每个单词首字母大写
- capitalize() 每句话首字母大写
花里胡哨的填充
- center(值,填充样式) 居中效果 填充样式只能是一个字符
- zfill(值) 右边填充 值个零
- ljust(值,填充样式) 左对齐 同center
- rjust(值,填充样式) 右对齐
杂项方法
replace(以前的字符串,新的字符串,次数)
替换某个字符串里面,匹配到的老字符串,返回一个新字符串
strip("")
将一个字符串两边 指定字符去掉 默认为空格 遇到非指定字符结束
index(字符串)
返回第一个找到的位置 可匹配多个在一起的字符
find(字符串)
同index 但是不会抛出异常 匹配失败 返回 -1 匹配成功 返回下标
rfind() 从右边开始匹配
count(字符串,开始,结束)
匹配字符串,返回字符串出现的个数
len(字符串对象)
返回字符串长度
endswith("要判断的后缀")
可以判断 结尾是否为特定字符
startswith(字符)
可以判断 开头是否为特定 字符 成功返回 true
格式化字符串
- c风格格式化字符串
"%d,%10d" %(1,20) # '1, 20'
'%x,%s'%(12231,"mingyue") # '2fc7,mingyue'
#使用起来 和 c 语言 基本一致 但语法必须严谨
- python风格格式化字符串
"字符串{}",format()
"{}".format(2,3,1) # '2' 只有一个变量,默认填充第一个 之后依次对应
"{}{}{}".format(2,3,1) #'231'
##### 这个还没有搞懂 #"{可取format 作为索引}".format()