python -- 字符串
一、字符串特性
一、字符串特性
字符串不可修改
有序的
可迭代的
二、字符串创建
单引号
三双引号或者三单引号
创建空字符串
三、字符串的操作
字符串的访问:通过索引访问,索引从0开始
test = ("adbcg","112asda",'221122',2)
print(test)字符串的切片
语法:string【起始索引值 :结束索引值 :步长】
正序切片从0开始,步长默认是1 test[0:6:1]
倒序切片从-1开始,步长是-1 test[-7:-2:-1]
注意点:
步长不写默认为1
结束索引不写默认是字符串长度
起始索引不写默认是0
索引的取值左闭右开(包含起始索引值,不包含结束索引值)
步长前面为负(-)表示倒序切片,正(+)表示正序切片(+可以不写)
正序切片用正序索引,倒序切片用倒序索引
字符串空格也占一个索引位置
字符串反转:
test_str[::-1]字符串与运算:
拼接 +
重复输出 *
字符串的转义
\
r
字符串的常用方法:
将所有的字母变成大写 upper
test_str = ('HHSHSnnnnns')
res = test_str.upper()
print(res)将所有的字母变成小写 lower
test_str = ('HHSHSnnnnns')
res = test_str.lower()
print(res)将字符串的首字母大写 capitalize
test_str = ('aHHSHSnnnnns')
res = test_str.capitalize()
print(res)将字符串中大小写互换 swapcase
test_str = ('aHHSHSnnnnns')
res = test_str.swapcase()
print(res)将字符串所有单词的首字母大写 title
test_str = ('aHHSHSnnn nns')
res = test_str.title()
print(res)统计相关:
统计某个字符出现的次数 count
test_str = ('aHHSHSnnn nns')
res = test_str.count('H')
print(res)
统计长度 len
test_str = ('aHHSHSnnn nns')
print(len(test_str))返回找到的第一个索引值 find
test_str = ('aHHSHSnnn nns')
res = test_str.find('S')
print(res)返回找到的最后一个索引值 rfind
test_str = ('aHHSHSnnn nns')
res = test_str.rfind('S')
print(res)判断相关:
判断字符串是否都是大写 isupper
test_str = ('aHHSHSnnn nns')
res = test_str.isupper()
print(res)判断字符串是否都是小写 islower
test_str = ('aHHSHSnnn nns')
res = test_str.islower()
print(res)
判断字符串是否有字母或者数字 isalnum
test_str = ('aHHSHSnnn nns')
res = test_str.isalnum()
print(res)判断是否是空格 isspace
test_str = ('aHHSHSnnn nns')
res = test_str.isspace()
print(res)判断是否都是数字 isdigit
test_str = ('aHHSHSnnn nns')
res = test_str.isdigit()
print(res)判断是否以指定的字符开头 starts with
test_str = ('aHHSHSnnn nns')
res = test_str.startswith("a")
print(res)判断是否以指定的字符结尾 ends with
test_str = ('aHHSHSnnn nns')
res = test_str.endswith("a")
print(res)字符串拆分:
参数 F:拆分字符 maxsplit(拆分次数) test.split('F',maxsplit=2)
注意点:
返回的是一个list
如果拆分字符不传,默认按空格进行拆分
拆分字符会被丢弃掉,不会再list中间
如果拆分字符是第一个,或者是最后一个,此时前后会增加一个空字符串
如果中间2个拆分字符连续出现,此时拆分的实话会出现一个空格
test_str = ('aFHHSHSFnnn F nns')
res = test_str.split("F")
print(res)字符串的连接:
使用join
test_str = 'haahbbhhhcchddh'
test_str2="*"
res = test_str2.join(test_str)
print(res) #连接
print(test_str+test_str2) #拼接,收尾相连字符串替换:
test_str = 'haahbbhhhcchddh'
res = test_str.replace('h','*',3)
print(res)
#old:需要替换掉的字符
#new: 需要放进去的字符
#count:替换次数,默认是全部替换字符串成员运算:
in not in
test_str = 'haahbbhhhcchddh'
print( 'h' in test_str)
print( 'h' not in test_str)字符串格式化:
%s字符串占位符
price = "this phone is %s" %("100")
print(price)%d 数值占位符
price = "this phone is %d" %(100)
print(price)%f 浮点数占位符默认保留6位 %.2f 保留2位小数点
price = "this %.2f phone is %f" %(12.121,100.222)
print(price)format:
按顺序取值
name = "my name is {} age is {}".format("隔壁老王",30)
print(name)按索引取值
name = "my name is {1} age is {0}".format(30,"隔壁老王")
print(name)按关键字取值
name = "my name is {name} age is {age}".format(age=30, name="隔壁老王")
print(name)来源:testingpai