字符串的表现形式
-
非原始字符串
- 使用单引号包含的'abc'
- 使用双引号包含的"abc"
- 使用3个单引号''' abc '''
- 使用3个双引号""" abc """
-
原始字符串
- 使用单引号包含的r'abc'
- 使用双引号包含的r"abc"
- 使用三个单引号r''' abc '''
- 使用3个双引号r""" abc """
概念补充 ------转义符 -------通过转换某个指定的字符, 使它具备特殊的含义
-
常见转义符
- \(在行尾时) 续行符
- \’ 单引号
- \" 双引号
- \n 换行
- \t 横向制表符各个形式的特点: - 混合使用可以避免使用引号转义符 - 一般内容需要写成一行,若要跨行,需要使用连行符\ 例1:name = "s \ z" 例2:使用小括号 name = ("s" "z") - 三引号 可以直接跨行书写
字符串一般操作
-
字符串拼接
方式1:str1 + str2
方式2str1str2
方式3”xxx%sxxx“%(a+b)
方式4字符串乘法
-
字符串切片
-
概念
------获取一个字符串的某个片段 -
获取某一个字符
- name[下标]- 下标:字符串中每个字符对应的编号
注意 下标越界 负数下标 如果为负数, 则会从尾部开始定位 最后一个字符为 -1
- 下标:字符串中每个字符对应的编号
-
获取一个字符串片段
- name[起始:结束:步长]注意 ---获取范围:[起始, 结束) 起始包含 结束不包含 ---默认值:起始默认值: 0 结束默认值: len(name)整个字符串的长度 ---步长默认值: 1 获取顺序 - 步长 > 0,从左边到右 - 步长 < 0,从右往左 注意: **不能从头部跳到尾部, 或者从尾部跳到头部**
-
特殊------ 反转字符串, 字符串[::-1]
字符串函数操作
使用方式
- 内建函数, 直接使用
- len
-
作用: - 计算字符串的字符个数
语法: - len(name)
参数: - 字符串
返回值: - 字符个数(整形)
- 对象方法:对象.方法(参数)
查找类
- find
-
作用: - 查找子串索引(下标)位置
语法: - find(sub, start=0, end=len(str))
返回值: - 找到了—指定索引-(整型)注意 从左到右进行查找 找到后立即停止
- rfind
-
功能使用, 同find
区别: 从右往左进行查找 - index
-
作用: - 获取子串索引位置
语法: - index(sub, start=0, end=len(str))
返回值: - 找到了—指定索引(整型)
------------找不到返回-异常注意 从左到右进行查找 找到后立即停止
- rindex
-
功能使用, 同index
区别: 从右往左进行查找 - count
-
作用: - 计算某个子字符串的出现个数
语法: - count(sub, start=0, end=len(str))
返回值: - 子字符串出现的个数(整型)
转换类
- replace
-
作用: - 使用给定的新字符串 替换原字符串中的 旧字符串
语法: - replace(old, new[, count])
返回值: - 替换后的结果字符串注意: 并不会修改原字符串本身
- capitalize
-
作用: - 将字符串首字母变为大写
语法: - capitalize()
返回值: - 首字符大写后的新字符串注意: 并不会修改原字符串本身
- title
-
作用: - 将字符串每个单词的首字母变为大写
语法: - title()
返回值: - 每个单词首字符大写后的新字符串注意: 并不会修改原字符串本身
- lower
-
作用: - 将字符串每个字符都变为小写
语法: - title()
返回值: - 全部变为小写后的新字符串注意: 并不会修改原字符串本身
- upper
-
作用: - 将字符串每个字符都变为大写
语法: - upper()
返回值: - 全部变为大写后的新字符串注意: 并不会修改原字符串本身
填充类
- ljust
-
作用: - 根据指定字符(1个), 将原字符串填充够指定长度
l: - 表示原字符串靠左
语法: - ljust(width, fillchar)
返回值: - 填充完毕的结果字符串注意 不会修改原字符串 填充字符的长度为1 只有原字符串长度 < 指定结果长度时才会填充
- rjust
-
作用: - 根据指定字符(1个), 将原字符串填充够指定长度
r: - 表示原字符串靠右
语法: - rjust(width, fillchar)
返回值: - 填充完毕的结果字符串 - center
-
根据指定字符(1个), 将原字符串填充够指定长度
center: - 表示原字符串居中
语法: - center(width, fillchar)
返回值: - 填充完毕的结果字符串
注意
不会修改原字符串
填充字符的长度为1
只有原字符串长度 < 指定结果长度时才会填充
压缩类
- lstrip
-
作用: - 移除所有原字符串指定字符(默认为空白字符)
l: - 表示仅仅只移除左侧
语法: - lstrip(chars)
返回值: - 移除完毕的结果字符串注意 不会修改原字符串
- rstrip
-
作用: - 移除所有原字符串指定字符(默认为空白字符)
r: - 表示仅仅只移除右侧
语法: - rstrip(chars)
返回值: - 移除完毕的结果字符串注意 不会修改原字符串
分割拼接类
- split
-
作用: - 将一个大的字符串分割成几个子字符串
语法: - split(sep, maxsplit)
返回值: - 分割后的子字符串, 组成的(列表)注意 并不会修改原字符串本身
- partition
-
作用: - 根据指定的分隔符, 返回(分隔符左侧内容, 分隔符, 分隔符右侧内容)
语法: - partition(sep)
返回值: - 找到了—(分隔符左侧内容, 分隔符, 分隔符右侧内容)(元组)
------------找不到返回-(原字符串, “”, “”)(元组)注意 不会修改原字符串 从左侧开始查找分隔符
- rpartition
-
作用: - 根据指定的分隔符, 返回(分隔符左侧内容, 分隔符, 分隔符右侧内容)
r: - 表示从右侧开始查找分隔符
语法: - partition(sep)
返回值: - 找到了—(分隔符左侧内容, 分隔符, 分隔符右侧内容)(元组)
------------找不到返回-(原字符串, “”, “”)(元组)注意 不会修改原字符串 从右侧开始查找分隔符
- splitlines
-
作用: - 按照换行符(\r, \n), 将字符串拆成多个元素, 保存到列表中
语法: - splitlines(keepends)
参数: - 参数-keepends(是否保留换行符)(bool类型)
返回值: - 被换行符分割的多个字符串,(列表)注意 不会修改原字符串
- join
-
作用: - 根据指定字符串, 将给定的可迭代对象(能用for循环遍历的), 进行拼接, 得到拼接后的字符串
语法: - join(iterable)
返回值: - 拼接好的新字符串
判定类
- isalpha
-
作用: - 字符串中是否所有的字符都是字母
至少有一个字符
语法: - isalpha()
返回值: - 是否全是字母(bool) - isdigit
-
作用: - 字符串中是否所有的字符都是数字
至少有一个字符
语法: - isdigit()
返回值: - 是否全是数字(bool) - isalnum
-
作用: - 字符串中是否所有的字符都是数字或者字母
至少有一个字符
语法: - isalnum()
返回值: - 是否全是字母或数字(bool) - isspace
-
作用: - 字符串中是否所有的字符都是空白符
包括空格,缩进,换行等不可见转义符
至少有一个字符
语法: - isspace()
返回值: - 是否全是空白符(bool) - startswith
-
作用: - 判定一个字符串是否以某个前缀开头
语法: - startswith(prefix, start=0, end=len(str))
返回值: - 是否以指定前缀开头(bool) - endswith
-
作用: - 判定一个字符串是否以某个后缀结尾
语法: - endswith(suffix, start=0, end=len(str))
返回值: - 是否以指定后缀结尾(bool)补充 in 判定一个字符串, 是否被另外一个字符串包含 not in 判定一个字符串, 是否不被另外一个字符串包含