字符串类型内置方法(str)
1.作用:是用来描述性质的东西,如人的名字,人的某一个爱好,地址,国家等
2.定义:把一个个字符放到单引号,或双引号和三引号里面定义的
1.最基础的定义:
s = 'sdfklsdjfk'
2.定义成二进制的形式,就是在最基础的定义变量值引号前面加b
s = b'sdkfljl' # 打印出来的bytes类型
3.\n \t \r
\n 换行
s = 'a\na' # 碰到斜杠了,计算机就清楚下一个字符和\拼接在一起会有特殊的意义
\t 缩进4个空格
s = 'a\t\ta'
\r 回退上一个打印结果,覆盖上一个打印结果
# print('\\ra',end='') # 加一个\让后面的\变得无意义
4.常用操作+内置方法(只有字符串可以使用)
1.优先掌握
- 按索引取值
- 切片
- 循环
- 移除空白strip
- 切分split
- 成员运算in|not in
- 长度
1.按索引取值(只可取不可改变)
# str索引取值
msg = 'hello nick'
# 0123456789 # 索引序号
print(f'索引为6: {msg[6]}')
print(f'索引为-3: {msg[-3]}')
索引为6: n
索引为-3: i
2.切片(顾头不顾尾,步长)
# 索引切片
msg = 'hello nick'
# 0123456789 # 索引序号
print(f'切片3-最后: {msg[3:]}')
print(f'切片3-8: {msg[3:8]}')
print(f'切片3-8,步长为2: {msg[3:8:2]}')
print(f'切片3-最后,步长为2: {msg[3::2]}')
# 了解,步长为正从左到右;步长为负从右到左
print('\n**了解知识点**')
print(f'切片所有: {msg[:]}')
print(f'反转所有: {msg[::-1]}')
print(f'切片-5--2: {msg[-5:-2:1]}')
print(f'切片-2--5: {msg[-2:-5:-1]}')
切片3-最后: lo nick
切片3-8: lo ni
切片3-8,步长为2: l i
切片3-最后,步长为2: l ik
切片所有: hello nick
反转所有: kcin olleh
切片-5--2: ni
切片-2--5: cin
3.循环
msg = 'hello nick'
for i in msg:
print(i)
h
e
l
l
o
n
i
c
k
4.移除空白strip()
# str移除空白strip()
s1 = ' nick handsome '
print(s1.strip()) # 去两端的空白
# nick handsome
s2 = '***!!!!!nick handsome----***'
print(s2.strip('-*!')) # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉
# nick handsome
print(s2.strip('nick')) # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉
# s2.strip('*-!') # 首先判断字符串s的两端字符,为*,再去strip里找有没有*,有就去掉,再去判断字符串s的两端字符,!-,再从strip里面找,有去掉,没有停止去掉
# print(s2)
5.切分split
# str切割split
s2 = '***!!!!!nick handsome----***'
print(s2.split()) # 默认以空格切割字符串
# ['***!!!!!nick', 'handsome----***']
print(s2.split('!')) # 以!切割
['***', '', '', '', '', 'nick handsome----***']
print(s2.split('!', 2))
['***', '', '!!!nick handsome----***']
6.成员运算in和not in
# str成员运算
s2 = '***!!!!!nick handsome----***'
print('*' in s2) # True
print('$' not in s2) # True
7.长度len
# str长度
s2 = 'nick handsome'
print(len(s2)) # 求字符串的长度
2.需要掌握
lstrip&rstrip
rsplit
lower&upper
startswith&endswith
join
replace
isdigit(纯数字)/isalpha(纯字母)
1.lstrip()和rstrip()
# str之lstrip()和rstrip()
lstrip是去掉字符串左边的指定字符
rstrip是去掉字符串右边的指定字符
s2 = '***!!!!!nick handsome----***'
print(s2.lstrip('*'))
# !!!!!nick handsome----***
print(s2.rstrip('*'))
# ***!!!!!nick handsome----
2.rsplit()
s2 = '***!!!!!nick handsome----***'
print(s2.split('*', 1))# 切分,以字符串左边(默认)第一个*切分,
#['', '**!!!!!nick handsome----***']
print(s2.rsplit('*', 1))# 切分,以字符串右边第一个*切分,
#['***!!!!!nick handsome----**', '']
3.lower()和upper()
s3 = 'aaabbJ'
print(s3.lower())# 把字符串大写字母,转换成小写字母
# aaabbj
print(s3.upper())# 把字符串小写字母,转换成大写字母
# AAABBJ
4.startswith()和endswith()
s3 = 'aaabbJ'
print(s3.startswith('b'))# 判断字符串是不是以‘b’开头的
# False
print(s3.endswith('J'))# 判断字符串是不是以‘j’结尾的
True
5.join()
# join(用的比较多)一般和split联用
s3 = ' '
print(s3.join(['234', '234', '234'])) # 以s3为间隔符,拼接列表里的每一个元素
# 234 234 234
s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/当归/鹿茸'
s1 = s.split('/')
print('*'.join(s1))
# 辣条*薯片*汽水*泡面*火腿肠*枸杞*当归*鹿茸
6.replace()
# str值replace()# 把字符串原有的值,替换成新的字符
s2 = 'yongjiu handsome'
print(s2.replace('yongjiu', 'gebilaowang'))
# gebilaowang handsome
7.isdigit(纯数字)/isalpha(纯字母)
s2 = '12312'
print(s2.isdigit())# 判断字符串是否全是数字
s3 = 'aaac1c'
print(s3.isalpha())# 判断字符串是否全是字母
3.了解
- find|rfind|index|rindex|count
- center|ljust|rjust|zfill
- expandtabs
- captalize|swapcase|title
- is系列
1.find()、rfind()、index()、rindex()、count()
s2 = '**23423***ni234234ck $$ hand223423some******'
# 01234567891011
print(s2.find('$')) # 从左找,找到第一个停止,找不到返回-1
# 21
print(s2.rfind('$')) # 从右找,找到就停止,找不到返回-1
# 22
print(s2.index('$')) # 找不到报错
# 21
print(s2.rindex('$')) # 找不到报错
# 22
2.center()、ljust()、rjust()、zfill()
s2 = 'nick handsome'
print(s2.center(50, '*')) # 居中
print(s2.ljust(50, '*')) # 居左
print(s2.rjust(50, '*')) # 居右
print(s2.zfill(50)) # 填充0居右
******************nick handsome*******************
nick handsome*************************************
*************************************nick handsome
0000000000000000000000000000000000000nick handsome
3.expandtabs()
s2 = 'a\ta'
print(s2)
#a a
print(s2.expandtabs(8)) # 针对\t而言
#a a
4.captalize()、swapcase()、title()
s2 = 'harry Potter'
print(s2.capitalize()) # 首字母(一句话的开头)大写,其他全小写,用在段落开始
# Harry potter
print(s2.swapcase()) # 大小写互换
# HARRY pOTTER
print(s2.title()) # 所有单词首字母大写
# Harry Potter