字符串
Python中的字符串可以是单引号、双引号、或者三个双引号、三个单引号,如果字符串里包含单引号,则最外层用双引号包含即可,如果内部有单引号或者双引号,则最外层用三个双引号即可。
name = 'hu'
name = "lin"
name = """hu
lin
"""
name = '''hu
lin
'''
乘积
Python中的字符串可以乘以一个整数,表示这个字符串拼接几次,如下所示:
字符串乘积.png下标
下标也称为索引,可以是正数下标,也可以是负数下标,正数下标从0开始,表示第一个字符,-1表示最后一个下标,通过 len(str)
函数得到字符串的长度
切片
切片可以获取一段数据,而下标只能获取一个数据
- 切片语法:变量[start:end:step]。
-
start
表示开始位置的下标 -
end
表示结束位置的下标,但不包含结束位置的下标 -
step
步长,下标之间的间隔,默认为1 - 如果省略
end
,则表示直接到结尾,如果省略start
,则表示从0开始,但无论哪种,冒号均不能省略
my_str = "Hello"
print (my_str[2:4])
print (my_str[2:])
print (my_str[:])
print (my_str[-4:-1])
print (my_str[::-1]) #这种属于字符串反转
字符串查找
find()
在字符串中查找 是否存在某个字符串
- str.find (sub_str, start, end)
- sub_str 要在查找的内容,类型str
- start 开始位置,从哪里开始查找,默认是0
- end 结束位置,查找到哪里结束,默认是len()
- 如果找到返回的是子串在字符串中的位置,没有找到返回-1,其中后面两个参数可以省略
- 这几个参数也同样适用于
rfind()
、index()
和rindex()
my_str = "Hello"
print(my_str.find("Hell"))
rfind()
从右边开始查找
index()
和 find ()
的区别在于 index()
如果没有找到会报错
rindex()
从右边开始查找
字符串统计
count()
统计字符串出现的次数
- str.count (sub_str, start, end)
my_str = "Hello Hello"
print (my_str.count("Hello"))
字符串替换
replace()
- my_str.replace(old_str, new_str, count) 字符串替换
- old_str 将要被替换的字符串
- new_str 新的字符串
- count 替换的次数,默认是全部替换
- 返回值:得到一个新的字符串,不会改变原来的字符串
字符串切割
split()
- my_str.split(sub_str, count) 将 my_str 字符串按照 sub_str 进行切割
- sub_str :按照什么内容切割字符串,默认是空白字符,空格,tab键
- count:切割几次,默认是全部切割
- 返回值:列表[]
rsplit()
- 从右边开始切割
字符串连接
join()
- my_str.join(可迭代对象),可迭代对象既可以是字符串,也可以是列表、元组
- 将my_str 这个字符串添加到可迭代对象的两个元素之间
- 返回值:一个新的字符串,不会改变原来字符串的值
print ("_".join("Hello")) 返回值是"H_e_l_l_o"
编码和解码
编码方法:encode()
str1 = "abcde"
print (str1.encode()) # 此时会输出:b`\xe6\x88`
解码方法:decode()
str2 = b`\xe6\x88`
print(str2.decode()) #此时将输出abcde
encode()
方法和 decode()
方法的小括号里填编码格式,常见的有 utf-8
和 gbk
ASCII码的转换
-
chr()
将对应的ASCII
的值转换为对应的字符
print(chr(97)) # a
- ord() 获取字符对应的
ASCII
的值
print(ord("a")) #输出97
其他方法
capitalize()
- 字符串首字母大写
title()
- 所有单词的首字母大写
upper()
- 所有字母大写
isupper()
- 检测是否所有字母大写
lower()
- 所有字母小写
islower()
- 检测所有字母是否是小写
my_str = "Hello Hello"
print (my_str.capitalize()) # Hello hello
print (my_str.title()) # Hello Hello
print (my_str.upper()) # HELLO HELLO
print (my_str.isupper()) # False
startswith()
- 检测是否以某个字符开始,返回布尔值
endswith()
- 检测是否以某个字符结束,返回布尔值
center(int)
- 使字符串一共占用 int 个字符,并且居中对齐
ljust(int)
- 使字符串一共占用 int 个字符,并且左对齐
rjust(int)
- 使字符串一共占用 int 个字符,并且右对齐
lstrip()
- 去除字符串左边的空格
rstrip()
- 去除字符串右边的空格
strip()
- 去除字符串两边的空格
print (" Hello ".lstrip())
print (" Hello ".rstrip())
print (" Hello ".strip())
isDight()
- 是否是纯数字组成
swapcase
- 如果是大写则转换成小写,是小写则转换成大写
isalpha
- 是否是纯字母和汉字组成
网友评论