1.字符串:str: 字符串 支持 “ ” ’ ‘ ''' '''
name ='亚索'
name1 ="盖伦"
name2 ='''青钢影'''
单双三引号区别:
(1)msg ="张三说:'今天去看电影吧!'"
print(msg) #张三说:'今天去看电影吧!'
msg ='''张三说:'今天去看电影吧!' '''
print(msg) #张三说:'今天去看电影吧!'
#内外引号不同。如相同会报错,字符串默认第1和第2为一个字符串。
(2)三引号:字符串格式不变(如换行等)
打印结果:
2.字符串常见操作
(1)获取字符或片段
索引:字符串的索引下标为0~n 、-n ~ -1,如下图:
切片:格式: 字符串变量[start:stop:step] 从start字符开始截止到stop前一个字符,即包前不包后。
# 切片通过步长可以控制方向: step 正数 表示从左向右 负数 表示从右向左
(2)其他操作
(1 获取字符串长度:len(字符串变量)
例如:用户名长度判断
(2 查找 find index (默认从左往右查找) | rfind rindex (r表示right,即从右往左查找)
格式: image='https://img.yihaodianimg.com/vippro/images/pcQuality/img_mainBox2_2_5.png'
i = image.find('/',0,6) 从左往右,从0下标找到6前面的5下标,找‘/’
print(i) # 返回第一次遇到的'/'的位置,索引值
# 因‘/’在6,不存在,返回‘-1’。如(‘/’,0,6)改为(‘/',0,7),则返回索引值6.
区别:# find查找的元素在字符串中不存在则返回-1
# index查找的元素在字符串中不存在则报错
例如:找到第4个‘/’的位置
(3 统计出现次数 count
n = s2.count('i')
print(n)
(4 判断 以...开头,s.startswith('a') 结果为bool类型,即True 或 False
以...结尾, s.endswith('a')
是数字吗? s.isdigit()
是字母吗? s.isalpha()
是数字和字母吗?s.isalnum()
是否是空白字符? s.isspace()
是否全部是小写字母? s.islower()
是否全部是大写字母? s.isupper()
(5 切割 split 以指定字符串为分隔符切片,如果 maxsplit有指定值,则仅分隔 maxsplit+1 个子字符串。(如果为2,即分割2次,成为3个字符串)返回的结果是一个列表。
rsplit 用法和split基本一致,只不过是从右往左分隔。
splitlines 按照行分隔,返回一个包含各行作为元素的列表。
partition 把mystr以str分割成三部分,str前,str和str后,三部分组成一个元组
rpartition 类似于 partition()函数,不过是从右边开始.
(6 替换 replace
s =input('请输入留言:')
mingan ='密码'
s = s.replace(mingan,'**')
print('你的留言是:',s)
(7 变小写、大写、首字母大写: s.lower() s.upper() s.capitalize()
(8 去空格
s=' hello '
s = s.rstrip() print(s) #去掉hello右边的空格
s = s.lstrip() print(s) #去掉hello左边的空格
s = s.strip() print(s) # 去掉hello左右两边的空格