字符串类型内置方法(str)
-
作用:描诉性质的东西,如人的名字,单个爱好,地址,国家等
-
定义方式:使用'',"",''''''包裹的一串字符
s=str(1.1)
s1=str([1,2,3])
print(type(s))
print(type(s1))
<class 'str'>
<class 'str'>
#
换行
s = 'a
a' # 碰到斜杠了,计算机就清楚下一个字符和拼接在一起会有特殊的意义
print(s)
输出 a
a
# 缩进4个空格
s = 'a a'
print(s)
输出a a
#
回退上一个打印结果,覆盖上一个打印结果
print('
a',end='')
print('
a',end='')
输出a
# 加一个让后面的变得无意义
print('\ra',end='')
print('\ra',end='')
输出
a
a
也可以在字符串前加r使无效化,r意思是不转义,使用真实字符
-
字符串内置方法(只有字符串类型才能使用)
优先掌握
1.索引取值
s='cloud handsome'
print(s[2])
输出o
2.切片
s='cloud handsome'
print(s[0:4:1]) # 1表示从左到右
print(s[-4::-1]) # -1表示从右到左 # 不推荐掌握
print(s[4:0:-1])
输出 clod
sdnah duolc
duol
3.for循环
s='cloud handsome'
for i in s:
print(i)
输出
c
l
o
u
d
h
a
n
d
s
o
m
e
4.strip()移除空白
s1 = ' cloud handsome '
print(s1.strip()) # 去两端的空白
s2 = '***!!!!!cloud handsome----***'
print(s2.strip('-*!')) # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉
print(s2.strip('cloud')) # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉
输出cloud handsome
cloud handsome
***!!!!!cloud handsome----***
# s2.strip('*-!') # 首先判断字符串s的两端字符,为*,再去strip里找有没有*,有就去掉,再去判断字符串s的两端字符,!-,再从strip里面找,有去掉,没有停止去掉
5.切分split()
s2 = '***!!!!!cloud handsome----***'
# 5. split() 切割
print(s2.split()) # 默认以空格切割字符串
print(s2.split('!')) # 以!切割
print(s2.split('!', 2)) #切割两次
输出结果['***!!!!!cloud', 'handsome----***']
['***', '', '', '', '', 'cloud handsome----***']
['***', '', '!!!cloud handsome----***']
6.in或not in
s2 = '***!!!!!cloud handsome----***'
print('*' in s2) #True
print('@' not in s2)#True
7.长度len
s='cloud handsome'
print(len(s))
输出14
需要掌握
1. lstrip() 和 rstrip()
s2 = '***!!!!!cloud handsome----***'
print(s2.lstrip('*'))
print(s2.rstrip('*'))
输出结果:!!!!!cloud handsome----***
***!!!!!cloud handsome----
2.rsplit
s2 = '***!!!!!cloud handsome----***'
print(s2.split('*', 1))
print(s2.rsplit('*', 1)) #从右开始切割
3.lower&upper
s3='xxajjD'
print(s3.lower())
print(s3.upper())
输出xxajjd
XXAJJD
4.startswith&endswith
s3='xxajjD'
print(s3.startswith('j')) #False
print(s3.endswith('D')) #True
5.join(用的比较多)一般和split联用
s4=' '
print(s4.join(['234','234','234']))
输出 234 234 234
s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/当归/鹿茸'
s1 = s.split('/')
print('*'.join(s1))
输出 辣条*薯片*汽水*泡面*火腿肠*枸杞*当归*鹿茸
6.replace
s2 = 'zack handsome'
print(s2.replace('zack', 'cloud'))
输出 cloud handsome
7.isdigit(纯数字)/isalpha(纯字母)
s2 = '12312'
print(s2.isdigit()) #True
s3 = 'aaac1c'
print(s3.isalpha()) #False
仅做了解
find|rfind|index|rindex|count
s2 = '**23423***ni234234ck $$ hand223423some******'
# 01234567891011
print(s2.find('$')) # 从左找,找到第一个停止,找不到返回-1
print(s2.rfind('$')) # 从右找,找到就停止,找不到返回-1
print(s2.index('$')) # 找不到报错
print(s2.rindex('$')) # 找不到报错
# center|ljust|rjust|zfill
s2 = 'nick handsome'
print(s2.center(50, '*')) # 居中
print(s2.ljust(50, '*')) # 左对齐
print(s2.rjust(50, '*')) # 右对齐,不足部分*填充
print(s2.zfill(50)) # 填充0居右
# expandtabs
s2 = 'a a'
print(s2)
print(s2.expandtabs(8)) # 针对 而言,expandtabs() 方法是把字符串中的’ ’转换为空格。
a a
a a
# captalize|swapcase|title 只针对英文
s2 = 'harry Potter'
print(s2.capitalize()) # 首字母(一句话的开头)大写,其他全小写,用在段落开始
print(s2.swapcase()) # 大小写互换
print(s2.title()) # 所有单词首字母大写
Harry potter
HARRY pOTTER
Harry Potter
is系列有兴趣自己网上了解
-
存一个值还是多个值
一个值
-
有序还是无序
有序
-
可变还是不可变
可变:值变id不变,不可哈希
不可变:值变id也变,可哈希
s2 = 'abc'
print(id(s2))
s2 += 'abc'
print(id(s2))
1626685337024
1626686272208
不可变