python数据类型之字符串
1.创建字符串
a = "I'm a student"
print(a)
b = 'my name is "Tom"'
print(b)
注意:字符串用双引号创建时,字符串里面内容若用到引号要用单引号。同样的,字符串用单引号创建时,字符串里面内容若用到引号要用双引号
也可以用三个双引号创建多行字符串
s = """
hello
python
"""
print(a)
- len()函数查看字符串的长度
print(len('abc')) #返回长度3
2.转义字符
常使用的转义字符总结如下:
转义字符 | 含义 |
---|---|
\ | 反斜杠符号 |
\n | 换行 |
\t | 横向制表符 |
\b | 退格 |
\r | 回车 |
print("I \nlove \npython")
print("I love\\python") #I love\python
3.字符串拼接与复制
拼接使用"+“符号,复制可直接使用”*"符号
print("I"+"love"+"python",end = " ") #I love python,可调用end不含行打印
print("love"*3) #lovelovelove
your_age = input("请输入年龄:")
print("你的年龄为"+your_age)
注意:若将其他数字类型转换为字符串,可使用str()函数
print(str(5.2)) #'5.2'
4.字符串的替换
可使用replace()函数
a = "I live you"
a = a.replace("i","o")
print(a) #I love you
5.字符的处理
- 提取与切片
可以直接在字符串后使用[索引号]进行提取
print('abcd[0:2]') #ab
- 分割与合并
split()函数用于分割,join()函数应用于合并
a = "we are the best"
a.split() #按照空格分割
b = ["a","b","c"]
"*".join(b) #a*b*c,用*进行连接
- 字符串的比较
可以使用==和!=(主要比较是否有相同字符,主要比较的是值),is和not is(比较对象的id,即地址)来进行字符串的比较。
6.字符串的常用方法
- 查找方法
方法 | 含义 |
---|---|
a.find(‘我’) | 字符串中第一次出现“我”的位置,返回索引值 |
a.rfind(‘我’) | 字符串中最后一次出现“我”的位置 |
a.count(“我”) | 字符串中“我”出现的次数 |
- 去除首尾信息
'#w#o#'.strip("#") #去除字符串两边的'#'
'#w#o#'.lstrip("#") #去除字符串左边的'#'
'#w#o#'.rstrip("#") #去除字符串右边的'#'
- 大小写转化
方法 | 含义 |
---|---|
a.title() | 字符串a每个首字母大写 |
a.upper() | 字符串a所有字符都大写 |
a.lower() | 字符串a所有字符都小写 |
- 特征判断方法
方法 | 含义 |
---|---|
a.isalnum() | 判断字符串a是否为字母或数字 |
a.isdigit() | 判断字符串a是否只由数字组成 |
a.isspace | 判断字符串a是否为空白符 |
a.isupper | 判断字符串a是否为大写字母 |
a.islower() | 判断字符串a是否为小写字母 |
7.字符串格式化
format()函数用于字符串的格式化
a = "我的名字叫{0},今年{1}岁"
a.format("Tom",18) #这里需要遵循参数传递顺序
b = "我的名字叫{name},今年{age}岁"
b.format(age=18,name="Tom") #注意这里可以不遵循参数顺序
也可以在字符串前添加f形式进行格式化
name = "Tom"
age = 12
print(f"my name is {name},I'm {age} years old")#my name is gaobaojian,I'm 12 years old