字符串类型内置方法
目录
一、字符串类型内置方法(str)
1.用途:描述性质的东西,如人的名字、单个爱好、地址、国家等
2.定义:使用''、""、''''''、""""""包裹的的一串字符
-
u'unicode': unicode编码的字符串
-
b'101': 二进制编码的字符串
-
r'\n': 原生字符串,也就是说'\n'这是普通的两个字符,并没有换行的意思(r注销\n的作用)
name = 'nick' # name =str('nick')
s1 = str(1.1)
s2 = str([1, 2, 3])
print(f's1:{s1}, type:{type(s1)}')
print(f's2:{s2}, type:{type(s2)}')
输出结果:
s1:1.1, type:<class 'str'>
s2:[1, 2, 3], type:<class 'str'>
3.常用操作+内置方法:常用操作和内置方法分为优先掌握、其他操作(了解)三个部分
3.1优先掌握
- 按索引取值
- 切片
- 长度len
- 成员运算in|not in
- 移除空白strip
- 切分split
- 循环
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、len长度
msg = 'hello hanyue'
print(msg)
print(len(msg))
输出结果:
hello hanyue
12
4、in 或 not in
s2 = '**%%hanyue beautiful --!!**'
print('*' in s2)
print('%' not in
输出结果:
True
False
5、移除空白strip
s1 = ' fart beautiful '
print(s1.strip())#去除两端的空白
s1 = '**%%hanyue beautiful --!!**'
print(s1.strip('**!!'))# 指定多个字符一起去掉,只要strip里面有的字符就全部干掉
输出结果:
fart beautiful
%%hanyue beautiful --
6、切分split
s2 = '%%**fart beautiful!!**%%'
print(s2.split())#默认以空格切割字符串
print(s2.split('%'))# 以%切割
print(s2.spli
输出结果:
['%%**fart', 'beautiful!!**%%']
['', '', '**fart beautiful!!**', '', '']
['%%', '', 'fart beautiful!!**%%']
7、循环
s = 'fart beautiful girl'
for i in s:
print(i)
输出结果:
f
a
r
t
b
e
a
u
t
i
f
u
l
g
i
r
l
3.2 需要掌握
1、lstrip() 和 rstrip()
s2 = '***!!!!!nick handsome----***'
print(s2.lstrip('*'))#去除左边的*号
print(s2.rstrip('*'))#去除右边的*号
输出结果:
!!!!!nick handsome----***
***!!!!!nick handsome----
2、rsplit()
s2 = '***!!!!!nick handsome----***'
print(s2.split('*', 1))#从左边开始以*号分割
print(s2.rsplit('*', 1))#从右边开始以*号分割
输出结果:
['', '**!!!!!nick handsome----***']
['***!!!!!nick handsome----**', '']
3、lower&upper
s3 = 'aaabbJ'
print(s3.lower())#全部小写
print(s3.upper())#全部转换为大写
输出结果:
aaabbj
AAABBJ
4、startswith&endswith
s3 = 'aaabbJ'
print(s3.startswith('b'))#判断是否以b开始
print(s3.endswith('J'))#判断是否以J结尾
输出结果:
False
True
5、join(用的比较多)一般和split联用
s3 = ' '
print(s3.join(['234', '234', '234'])) # 以s3为间隔符,拼接列表里的每一个元素
s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/当归/鹿茸'
s1 = s.split('/')
print(s1)#以‘/’为分割信号
print('*'.join(s1))#把*号插入进去
输出结果:
234 234 234
['辣条', '薯片', '汽水', '泡面', '火腿肠', '枸杞', '当归', '鹿茸']
辣条*薯片*汽水*泡面*火腿肠*枸杞*当归*鹿茸
6、replace
s1 = 'hanyue is a beautiful girl'
print(s1.replace('hanyue','Fart'))#替换元素
输出结果:
Fart is a beautiful girl
7、isdigit(纯数字)/isalpha(纯字母)
#判断是否为纯数字
s2 = '12312'
print(s2.isdigit())
#判读是否为纯字母
s3 = 'aaac1c'
print(s3.isalpha())
输出结果:
True
False
8、eg:ATM机运作流程
db_usename:'Fart'
db_pwd:12345
in_usename = input('usename:')
in_pwd = input('passwd:')
if in_usename.isalpha():
pass
else:
print('用户名格式错误')
if in_pwd.isdigit():
pass
else:
print('密码格式不对')
3.3 了解
1、find|rfind|index|rindex|count
s2 = '**23423***ni234234ck $$ hand223423some******'
print(s2.find('$')) # 从左找,找到第一个停止,找不到返回-1
print(s2.rfind('$')) # 从右找,找到就停止,找不到返回-1
print(s2.index('$')) # 找不到报错
print(s2.rindex('$')) # 找不到报错
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居右
3、expandtabs
s2 = 'a\ta'
print(s2)
print(s2.expandtabs(8)) # 针对\t而言进行tab几个字符
输出结果:
a a
a a
4、captalize|swapcase|title 只针对英文
s2 = 'harry Potter'
print(s2.capitalize()) # 首字母(一句话的开头)大写,其他全小写,用在段落开始
print(s2.swapcase()) # 大小写互换
print(s2.title()) # 所有单词首字母大写

浙公网安备 33010602011771号