python学习笔记-常用数据类型之字符串 内置方法 归纳总结

test="stevenZhou"

#capitalize()
v=test.capitalize()#首字母大写
#casefold()
v=test.casefold()#所有变小写
#lower()
v=test.lower()#比较而言,casefold更牛,很多未知的也能变小写
#center()
v=test.center(20,"*")#设置宽度20并将内容居中,"*"代表用*填充一个字符,可有可无
#count()
v=test.count("e")#包含字符的数量,结果为2
v=test.count("e",3,6)#3代表从位置3开始找,6代表结束位置

# encode 略
# decode
#endswith()
v=test.endswith("ou")#是否是以ou结尾
#startswith()
v=test.startswith("ex")#是否是以ex开头
#find()
v=test.find("en")#从开始位置往后找,找到第一个之后,获取其位置
#find("e",3,8)#结果:4   从开始位置3,结束位置8查找

#format()
test1="i am {name}"
v=test1.format(name="steven")#将字符串中的占位符替换成指定的值
test1="i am {0},age {1}"
v=test1.format("steven",19)
test1="i am {name},age {a}"
v=test1.format_map({"name":"mark","a":19})#格式化,传入的值是字典类型

#index()
v=test.index("v")#位置find,但是找不到会报错,很小用,忽略
#isalnum()
v=test.isalnum()#判断字符串是否只是字母和数字
#expandtabs()
test="username	email	password
jobs	jobs@qq.com	124"
v=test.expandtabs(20) #以20进行断句找	,找到	不足20的,用空格补齐

#isalpha()
v=test.isalpha() #判断是否是字母(汉字)
#isdigit()
v=test.isdigit()#判断是否是数字  "②"判断为true ,更厉害
#isdecimal()
v=test.isdecimal()#判断是否数字
#isnumeric()
v=test.isnumeric()#是否是数字,"二","②"也能判断为true
#isidentifier()
v=test.isidentifier()#判断是否是标识符(字母,数字,下划线) 例:定义类时可以使用
#isprintable()
v=test.isprintable()#字符串中是否存在不可显示的字符,有则false。比如
	

#isspace()
v=test.isspace()#判断是否全是空格
#istitle()
v=test.istitle()#判断是否是标题(所有首字母大写)如:'Hello Word'判断为True
#title()
v=test.title()#转化成标题

#join() 将字符串中的每一个元素按指定分隔符进行拼接
test="你是凤儿我是沙"
t=' '
v=t.join(test) #结果为:“你 是 凤 儿 我 是 沙”

#ljust()
v=test.ljust(20,"*")#用*填充到右边,填满20个
#rjust()
v=test.rjust(20,"*")#
#zfill()
v=test.zfill(20)#用0填充20个字符,很少用
#lower()
v=test.lower()#变成小写
#upper()
v=test.upper()#变成大写

#lstrip()
test="assssteveasas"
v=test.lstrip()#取出左边空格,还可以去除
,	
#rstrip()
v=test.rstrip()#取出右边空格
#strip()
v=test.strip()#取出两边空格

v=test.lstrip("as")#从左移除指定字符,指定字符是长字符串,优先移除较多字符,如"as",存在"assss"时会优先移除整个,strip(),rstrip()同理

#translate()
# 创建对应关系,然后进行替换
v="asiduffasd"
m=str.maketrans("aeiou","12345")#{97: 49, 101: 50, 105: 51, 111: 52, 117: 53}
new_v=v.translate(m) #1s3d5ff1sd
#partition()
test="testasdstdafy"
v=test.partition("s")#从左找到第一个s进行分割,分成3部分的一个元组。结果:('te', 's', 'tasdstdafy'),包含了分割的字符串“s”
#rpartition()
v=test.rpartition("s")#从右找第一个进行分割
#split()
v=test.split("s",2)#用s进行分割,最多用2次分割。结果为['te', 'ta', 'dstdafy']
#rsplit()
v=test.rsplit("s")#同split(),从右开始分割
#splitlines()
test="asid
uff
asd"
v=test.splitlines()#根据换行分割,带True,False参数,是否保留换行

#startswith()
v=test.startswith("t")#是否是以“t”开头
#endswith()
v=test.endswith("t")#是否以“t”结尾
#swapcase()
v=test.swapcase()#大小写互换

#replace()
test="stevensteven"
v=test.replace("e","job",2)#参数2代表替换前2个

归纳总结

1、字符串一旦创建,不可修改,一旦修改或者拼接,都会造成重新生成字符串

2、七个方法必须会

      join split find strip upper lower replace

3、其他用法

#索引,获取字符串中的某一个字符
test="stevenste"
v=test[3]
#切片
v=test[1:3] #获取>=0和<3的切片
#len()
v=len(test)#长度,获取字符串由几个字符组成,在python2.7里汉字由3个字符组成,python3里一个,字符串,列表,元组都可以用这方法
#for循环
for i in test:
    print(i)
#range()
#break和continue在for循环中也能用,range帮助生成连续的数字,第三个数字设置步长
v=range(0,100,5)
for i in v:
    print(i)