字符串类型内置方法

一、字符串类型内置方法(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优先掌握
  1. 按索引取值
  2. 切片
  3. 长度len
  4. 成员运算in|not in
  5. 移除空白strip
  6. 切分split
  7. 循环
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())  # 所有单词首字母大写
posted @ 2026-01-24 13:53  Fart*  阅读(0)  评论(0)    收藏  举报