1.定义
- 字符串是一种用来表示文本的数据类型,它是由符号或者数值组成的一个连续序列。
- Python支持使用单引号、双引号和三引号定义字符串,其中单引号和双引号通常用于定义单行字符串,三引号通常用于定义多行字符串。
- 使用反斜杠“\”转义。其作用在于Python解释器会将“\”之后的引号视为解释为一个普通字符,而非特殊符号。(转义字符如下表:)
2.使用%格式化字符串(占位)![](https://i-blog.csdnimg.cn/blog_migrate/d0e7afde4ba1bfe8423acbf16ea4e3c5.png)
eg:
age=18
print('我今年%d岁'%age)
3. 使用format()方法格式化字符串
更直观、便捷地格式化字符串
eg:
print("c的值是{},b的值是{}".format('name','age'))
4.使用f-string格式化字符串
在形式上以f或F引领字符串,在字符串中使用“{变量名}”标明被替换的真实数据和其所在位置。
5. 字符串的查找和替换
1)find()方法
该方法可查找字符串中是否包含子串,若包含则返回子串首次出现的位置,否则返回-1。
基本格式
str.find(sub[, start[, end]])
- sub:指定要查找的子串。
- start:开始索引,默认为0。
- end:结束索引,默认为字符串的长度。
eg:
word = 't'
string = 'Python'
result = string.find(word)
print(result)
结果如下:
2) replace()方法
该方法可将当前字符串中的指定子串替换成新的子串,并返回替换后的新字符串。
基本格式
str.replace(old, new[, count])
- old:被替换的旧子串。
- new:替换旧子串的新子串。
- count:表示替换旧字符串的次数,默认全部替换。
eg:
string = 'He said, "you have to go forward, ' \
'Then turn left, Then go forward, and Then turn right."'
# 指定替换两次
new_string = string.replace("Then", "then",2)
print(new_string)
结果如下:
6. 字符串的分隔与拼接
1)split()方法
可以按照指定分隔符对字符串进行分割,该方法会返回由分割后的子串组成的列表。
基本格式
str.split(sep=None, maxsplit=-1)
- sep:分隔符,默认为空字符。
- maxsplit:分割次数,默认值为-1, 表示不限制分割次数。
eg:
string= "Hello, my name is Wang Hong"
# 以空格作为分割符,并分割2次
print(string.split(' ', 2))
结果如下:
2) join()方法
使用指定的字符连接字符串并生成一个新的字符串。
基本格式
str.join(iterable)
- iterable:表示连接字符串的字符
eg:
s = ' '
world = 'Python'
print(s.join(world))
结果如下:
7.删除字符串的指定字符
1)其中strip()、lstrip()和rstrip()方法可以删除字符串中的指定字符(如空格)
eg:
str = " 0010aqww01000"
# 用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
print(str.strip('0'))
print()
str1 = "000120aqww021000"
# 删除字符串开头和结尾指定为0的字符
print(str1.strip('0'))
print()
# 删除字符串开头指定为0的字符
print(str1.lstrip('0'))
print()
# 删除字符串结尾指定为0的字符
print(str1.rstrip('0'))
结果如下:
2) 其中支持字母大小写转换的方法有upper()、lower()、capitalize()和title()。
eg:
name = "xiao ming"
name = name.upper() # 转为大写
print(name)
name = name.lower() # 转为小写
print(name)
name = name.capitalize() # 首字母大写
print(name)
name = name.title() # 每个单词前面第一个字母大写
print(name)
运行结果如下:
字符串对齐
3)center()、ljust()、rjust()这3个方法来设置字符串的对齐方式。