目录
1.字符串
2.切片与下标
3.一些常用的函数操作
1.字符串 字符串: ‘带引号的内容就是字符串’ 单引号、双引号、三引号都可以
my_str = '''w''' name = 'wrx' age = "18" print(type(my_str), my_str) print(type(name), name) print(type(age), age) #如果字符串本身包含单引号,则使用双引号定义;如果包含双引号,可以用单引号定义,或者统一使用三引号 在python中,字符串可以乘以一个整数w # wrx # 18
ss = ' ** ** ' sss = ss * 2 print(sss) # ** ** ** **字符串输入 :
input()得到的就是字符串
字符串输出 :
name = 'wrx'
age = 18
print(age)
print('%s' % name)
print(f'我的名字是{name} 年龄是{age}') # 只要是引号就行 前面加f或F都行
# 18
# wrx
# 我的名字是wrx 年龄是18
2.切片与下标
- 下标(索引):
支持正数下标与负数下标
# 0 1 2 3 4 支持正数下标(整数) 从0开始 # h e l l o # -5 -4 -3 -2 -1 也支持负数下标 最后一个为-1 my_str = 'hello'下标的使用语法:变量[下标]
print(my_str[-4]) # elen()函数可以得到字符串的长度:
print(len(my_str)) # { len(my_str) - 1 } 即为最后一个元素的正数下标
# 5
- 切片 :
语法: 变量[起始:结束:步长]
选择的区间从'起始'位开始,到'结束'位的前一位结束(不包含结束位本身),步长表示选取间隔
切片可以获得一段数据(多个数据) 下标只能获得一个数据 # start 开始位置下标 # end 结束位置下标 # step 步长 下标之间的间隔 默认为1(为1时可不写) 可以为负数 从start到end 每间隔step取一次
my_str = 'hello' my_str0 = my_str[:] # 得到和原来一样的字符串 my_str1 = my_str[0:5:2] print(my_str1) # hlo my_str2 = my_str[0:2] # 默认step为1 print(my_str2) # he my_str3 = my_str[0::3] # end位置不写默认为len() 即可以取到最后一个元素 !! 但是冒号要写 print(my_str3) # hl my_str4 = my_str[:3] # start位置不写 默认为0 !! 但是冒号要写 print(my_str4) # hel my_str5 = my_str[-4:-1] # 也可以用负数下标 print(my_str5) # ell my_str6 = my_str[3:0:-1] # step为负数时 start可以小于end (倒着取) print(my_str6) # lle my_str_ni = my_str[::-1] # 字符串的逆置 print(my_str_ni) # olleh
3.字符串的常见操作 <1>. find
检测一个字符串a是否包含在字符串b中 如果是返回start索引值 不是返回-1 若my_str中存在多个str片段 找到第一个后即停止
my_str.find(str, start, end) # str:要在字符串中查找的内容 类型也是str # start:开始位置 从哪里开始查找 默认是0 # end:结束位置 查找到哪里结束 默认是len() 例如end=5 最后一个查找的下标为4 # 返回值:即方法执行的结果是什么 如果找到str 返回str在my_str中位置正数下标 没有找到返回-1
my_str = 'this world is very beautiful'
index = my_str.find('world', 0, 10)
print(my_str.find('world', 3, 5))
print(index)
# rfind 从右边(后边)开始查找
print(my_str.rfind('world'))
# -1
# 5
# 5
<2>.index与find用法一致 唯一区别为 若未找到字符串 index会报错
print(my_str.index('tif'))
# rindex 从右边(后边)开始找
print(my_str.rindex('very'))
# 23
# 14
<3>.count()统计出现的次数 用法与find一样
print(my_str.count('is', 10))
# 1
<4>.字符串的替换 replace()把my_str中的str1 换成 str2 若count指定 则替换不超过(<=)count次
my_str.replace(str1, str2, count)
# count默认为my_str.count(str1)
# 返回值得到一个新的字符串 不会改变原来的字符串
my_str1 = my_str.replace('is', 'are', 1)
print(my_str1)
# thare world is very beautiful
<5>.split()以str作为分隔符切片my_str 若maxsplit有指定值 则仅分割maxsplit+1个子字符串
my_str.split(str=' ', maxsplit)
# str默认为空白字符 【空格 tab键】
# maxsplit 默认为全切割 为my_str.count(str)
# 返回值为一个列表 []
my_str2 = my_str.split("is", 1) # 从左切割
print(my_str2)
# ['th', ' world is very beautiful']
my_str3 = my_str.split() # 默认按空白字符切割
print(my_str3)
# ['this', 'world', 'is', 'very', 'beautiful']
# rsplit() 从右边开始切割
my_str4 = my_str.rsplit('is', 1) # 从右切割
print(my_str4)
# ['this world ', ' very beautiful']
<6>.字符串的连接 join
my_str.join(可迭代对象) 该对象可为str 列表(需要列表中每一个数据都是str类型)
# 将my_str插入到str中每个元素之间 构造出一个新的字符串 (把前面的插入到后面的里面去)
my_str5 = '_'.join('hello')
print(my_str5)
my_str6 = 'is'.join(my_str4) # my_str4为列表 把'is'插入到列表中的每个数据之间
print(my_str6)
# h_e_l_l_o
# this world is very beautiful
一些其他的操作:
my_str = 'hello__this__world' s1 = ' hello '<1>.capitalize 把字符串中第一个字符大写 得到一个新的字符串
my_str1 = my_str.capitalize() print(my_str1) # Hello__this__world<2>.title 把字符串中 每一个单词(以空格分隔辨别)的首字母都大写
my_str2 = my_str.title() print(my_str2) # Hello__This__World<3>.upper 所有字符变大写
my_str3 = my_str.upper() print(my_str3) # HELLO__THIS__WORLD<4>.lower 所有字符变小写
my_str4 = my_str3.lower() print(my_str4) # hello__this__world<5>.startswith / endswith my_str.startswith(str) 检查字符串是否以str开头 my_str.endswith(str) 检查字符串是否以str结尾 是则返回True 否则返回False
my_str5 = my_str.startswith('h')
my_str6 = my_str.endswith('ddsad')
print(my_str5)
print(my_str6)
# True
# False
<6>.center(width)
返回一个 原字符串居中、使用空格填充至长度width的 新字符串
my_str7 = my_str.center(50) # 输出占宽50个单位 字符串居中 print(my_str7) # hello__this__world<7>.ljust(width) 返回一个 原字符串左对齐、使用空格填充至长度width的 新字符串
my_str8 = my_str.ljust(30) print(my_str8) # hello__this__world<8>.rjust(width) 返回一个 原字符串右对齐、使用空格填充至长度width的 新字符串
my_str9 = my_str.rjust(30) print(my_str9) # hello__this__world<9>. lstrip() 去除字符串左边的空白字符 rstrip() 去除字符串右边的空白字符 strip() 去除字符串两边的空白字符 不可以去除字符串中间的空白字符
print(s1.lstrip()) print(s1.rstrip()) print(s1.strip()) # hello # hello # hello<10>.partition(str) 把字符串分为 str前、str、str后
print(my_str.partition('__'))
# ('hello', '__', 'this__world')



