文章目录
一、字符串的定义
1.引号定义字符串
在Python中,我们可以使用两个单引号(‘’)、两个双引号(“”)、两个三引号(‘’‘’‘’)定义字符串。单引号和双引号常用于单行字符串,三引号常用于多行字符串。若想输出包含单引号的字符串,可以用双引号定义字符串;若想输出包含双引号的字符串,可以用单引号定义字符串,当然也可以使用转义字符输出。
str1 = 'calm_down'#单引号定义字符串
str2 = "calm_down"#双引号定义字符串
str3 = '''calm_down'''#三引号定义字符串
str4 = '\'calm_down\''#输出单引号定义的包含单引号的字符串,使用转义字符
str5 = '"calm_down"'#输出单引号定义的包含双引号的字符串
print(str1,str2,str3,str4,str5,sep='\n')#输出字符串
运行结果如下:
2.转义字符
转义字符 | 备注 |
---|---|
\ | 续行 |
\n | 换行 |
\r | 回车 |
\’ | 单引号 |
\" | 双引号 |
\\ | 反斜杠 |
\t | 横向制表 |
\v | 纵向制表 |
\a | 发出系统响铃声 |
\b | 退格 |
在反斜杠\前使用r,可以让反斜杠不发生转义。 |
print(r'\\')#不发生转义
print('\\')#发生转义
运行结果如下:
二、字符串的访问
1.字符串的索引
str = 'I love Python!'
print('正数第三个字符为',str[2])#访问索引为2的元素,整数从0开始
print('倒数第二个字符为',str[-2])#访问索引为-2的元素,负数下标从-1开始
运行结果如下:
2.字符串的切片
切片访问只是把字符串中需要的对象复制到某一个地方,而不是对原字符串进行更改。切片为左闭右开区间,默认步长为1。当步长为正数或缺省时,从左向右切片;当步长为负数时,从右向左切片。
str = 'I love Python!'
print(str[2:9:])#默认步长为1
print(str[2:9:2])#步长为2
print(str[9:2:-2])#步长为负数
运行结果如下:
三、字符串的方法
1.替换replace()
原字符串未被替换,可将replace的结束赋给新串。
语法格式:
str.replace(old,new,count=None)
被替换子串,新子串,替换次数(默认为全替换)
举例:
str = 'I love Python!'
print(str.replace('o','w'))#将子串o替换成w,全替换
print(str.replace('o','w',1))#将子串o替换成w,替换一次
运行结果如下:
2.分割split()
将字符串以指定字符分隔,然后放入列表中。
语法格式:
str.split(sep=None,maxsplit=-1)
分隔符默认为空格,分割次数
举例:
str = 'I love Python!'
print(str.split())#以空格作为分隔符,全分隔
print(str.split(' ',1))#以空格作为分隔符,分隔一次
运行结果如下:
3.去除字符串两侧指定字符strip()
将字符串两侧,符合要求的字符进行去除操作。
语法格式:
str.strip(chars=None)
要删除的字符,默认为空格
举例:
str = ' !!!I love Python!!!'
print(str.strip())#默认去除空格
print(str.strip('!!!'))#指定去除!
运行结果如下:
4.用指定字符连接字符串join()
将序列中的元素通过指定的字符进行连接,然后生成新的字符串。
语法格式:
str.join(sequence)
指定字符 要连接的字符串
举例:
str = '-'#连接字符
sequence = ['I','love','Python']#需连接的序列
print(str.join(sequence))
运行结果如下:
5.查找子字符串find()
若找到子字符串,返回从0开始的下标值;若找不到子字符串,返回-1。
语法格式:
str.find(sub,start,end)
子字符串,起始下标,终止下标
举例:
str = 'I love Python Python!'
print(str.find('Python'))
print(str.find('Python',7))#从下标为7的位置开始查找
print(str.find('Python',8))#从下标为8的位置开始查找
print(str.find('Python',7,9))#在7-9上查找
运行结果如下:
6.其他常用方法
以下方法操作后不改变原字符串。
str = 'i love Python python!'
print('原字符',str)
print('首字符大写',str.capitalize())
print('首字符大写',str.title())
print('全部大写',str.upper())
print('全部小写',str.lower())
print('字符串长度',len(str))
print('小写变大写,大写变小写',str.swapcase())
运行结果如下:
四、字符串的格式化输出
占位符和format()方法可参考Python中输入和输出的详细解读
以下来讲解f-strings方法。无需关注变量的类型,只需要关注变量传入的位置。
str = 'I love Python!'
name = 'calm_down'
age = 19
print(f'{str}')#单个变量输出
print(f'我的名字是{name},年龄是{age}')#多个变量输出
运行结果如下: