一、字符串的概念
用单引号' '、双引号" "、三引号""" """括起来的都是字符串;
1、单行字符串,除正常写在一行的字符串,另外还有一种写成多行,输出在一行的格式,适用在代码比较多想要分清楚的情况下,用法是 ,在这里符号 是起拼接的作用,并不会换行,输入str的话还是显示' a '' b '
str = ' a '
' b '
2、多行字符串,通常用三引号""" """表示,即
str = """ 第一行 第二行 """
3、一些特殊符号
(1)换行符 n :在字符串的输出中,通常因为排版格式会有需要换行的情况,此时可以用换行符 n 来实现,例如:
str = ' a n b '
(2)制表符 t :在字符串的输出中,会有要求空格来排版的情况,除了手动输入空格键外,还可以用制表符 t 来实现,该符号为水平制表符,相当于一个tab键,例如:
str = ' a t b '
(3)转义字符 r/R :对于代码中刚好存在 n 的代码,但是却不是用来实现换行符的效果,此时需要用转义字符来取消这些特殊符号的功能,这时只为普通的 n 代码,不作为换行符来使用,通常可用于查看路径的场景,取消的特殊含义,例如:
str = r' sdkbnsknsn '
二、字符串的索引
索引是用来表示某个字符在字符串中的位置,字符串中元素的位置从1开始,索引从0开始,位置1=索引0,通常可以通过索引直接取某个元素的值,但是注意索引不能超出范围,如果超出范围,会报IndexError的错误;
str = 'hello world!' # 输出元素e print(str[1]) # 索引超出范围,报错 print(str[15])
三、字符串的切片
切片是指获取字符串的某个子串,可以是单个字符,也可以是多个字符;
用法:字符串[start:end:step],意思是从索引start开始取,以步长step的频率,取到索引end-1的字符;
其中,start会取到,end不会去掉,即为取左不取右;
start,end,step均可为空,均可为负数(倒序)
str = 'hello world!' # 获取第1个到第4个字符 print(str[0:4]) # 获取最后一个字符 print(str[11]) print(str[-1]) # 获取'world'这个字符 print(str[-6:-1]) # 获取所有字符 print(str[:])
字符串的复制操作,当start、end都为空时,即输入原字符串,可用来复制,例如:
str = 'hello' # 复制str,取名为str2 str2 = str[:] print(str2)
四、字符串的操作
1、分割 split(分隔符,次数):将字符串通过指定分隔符(原字符串内存在的)分隔相应的次数,结果将存在一个列表内,分隔符为空时,不进行分割,例如:
str = ' hello_world!'
# 用_将字符串分割成两个部分
print(str.split('_'))
2、拼接 '拼接符'.join(列表名):将列表通过拼接符拼成一个字符串,拼接符可为空,例如:
str = [1,2,3,4]
# 通过下划线拼接成字符串
print('_'.join(str))
# 没有拼接符,原样拼接
print(''.join(str))
3、获取字符串的长度 len(字符串):通常用于字符串较长时,肉眼不易直接获取长度,例如:
str = 'sksejhksjfsdnfiwuhriqzmnbcjhdfbiqhoqh29391634716294818ouiqw4' print(len(str))
4、替换 replace(被替换字符,代替字符):将字符串内指定的被替代字符更换成代替字符,全量多次替换,即会将所有的被替换字符都换掉,例如:
str = ' hello world!'
# 将l换成a
print(str.replace('l','a'))
5、去头尾 strip(去掉字符):将字符串内头和尾的指定字符去掉,中间的不去,通常用来去掉字符串的前后空格,所以去掉的字符可为空,例如:
str = ' ssss ' # 将字符串前后的空格去掉 print(str.strip())
6、格式化输出 format():在输出大量文件字,字符串输出需要拼接,格式很冗余操作也很麻烦,在此情况下,可用格式化输出format()函数,可大量减少输出语句的繁琐性,例如:
# 输出‘我的名字是懒人,我的密码是123456,我今天18岁’
name = '懒人'
password = '123456'
age = 18
# format
print('我的名字是{},我的密码是{},我今年{}岁'.format(name,password,age))
# f-string 方法 python3.6以后的版本才能用
print(f'我的名字是{name},我的密码是{password},我今年{age}岁')
在上示例中,展示了另一种f-string的方法,这是python3.6以后的版本更新的新的方法,个人感觉比format()更好用。



