字符串
由若干个字符串组成的一个序列,其中的字符可以是字母,数字,符号,中文等
字符串属于不可变的数据类型,可以作为字典的key
1.\:转义字符 可以将特殊符号转义为普通字符,也可以将普通字符转义为特殊字符
2.\n:换行
3.\t:tab键,制表符
4.\r:回车键
5.\f:换页符
6.r"xxxxx":如果字符串中出现了需要转义的字符,使用r声明,不需要挨个转义
一般用于路径或者正则表达式字符串是不可变的数据类型,但凡涉及到字符串的更改,都是生成了一个新的字符串
7.+ str1 + str2
8.* print ( “*” * 30)
9.in / not in
10.切片
系统功能
转换
1.eval ( ):将str转换为有效的表达式
2.upper ( ):将小写字母转换为大写
3.lower ( ):将大写字母转换为小写
4.swapcase ( ):将小写字母转换为大写,大写字母转换为小写
5.capitalize ( ):首单词的首字母大写,其他全部小写
6.title ( ):每个单词的首字母大写,其他全部小
7.ord ( ) , chr ( )
查找
1.find ( ) :从左往右进行检索,返回被查找的子字符串在原字符串中第一次
出现的位置,如果查找不到返回-12.rfind ( ):从右往左进行检索
3.index ( ):从左往右进行检索,返回被查找的子字符串在原字符串中第一次
出现的位置,如果查找不到则直接报错4.rindex ( ) :从右往左进行检索
填充
1.center ( width [ , fillchar ] ):用fillchar填充指定的字符串,填充之后的
长度为width,原字符串居中显示2.ljust ( width [ , fillchar ] ):用fillchar填充指定的字符串,填充之后
的长度为width,原字符串居左显示3.rjust ( width [ , fillchar ] ):用fillchar填充指定的字符串,填充之后的
长度为width,原字符串居右显示省略fillchar,则默认使用空格填充,如果自定义fillchar,则它的长度必须为1
4.zfill ( width ):原字符串居右显示,剩余的字符默认用0填充,不能自定义填充字符
提取
1.strip ( ):去除一个指定字符串中两端指定的子字符
2.lstrip ( ):去除一个指定字符串中左边指定的子字符
3.rstrip ( ):去除一个指定字符串中右边指定的子字符
合并和分割
1.join ( ):使用指定的子字符串将列表中的元素连接
2.split ( ):使用指定的子字符串将原字符串进行分割,得到一个列表
替换
1.replace ( old , new , count):将原字符串中的old替换为new,可指定替换次数
映射替换:
2.maketrans ( ):生成映射表,类型为字典
可以用来简单的加密,可以自定义加密的规则 str.maketrans(str1,str2),str1和str2的长度必须相等3.translate ( ):根据映射表将指定字符串中的指定字符替换为映射表中对应的字符
判断
1.isalpha ( ):一个字符串非空并字符全部是字母才返回True
2.salnum ( ):一个字符串非空并字符是字母或者数字才返回True
3.isupper ( ) / islower ( ) / istitle ( ):和upper , lower , title有关
4.isdigit ( ) / isdecimal ( ):一个字符串非空并字符全部是数字才返回True
5.startswith ( ):判断一个字符串是否是以指定自字符串开头【前缀】
6.endswith ( ):判断一个字符串是否是以指定自字符串结尾【后缀】
编码和解码
编解码实际上进行字符串类型【str】和字节类型【bytes】之间的转换
1.encode ( ):编码,将字符串类型转换为字节类型,encode ( )
# 方式一:encode() r1 = str1.encode("utf-8") # 方式二:bytes(str,encoding="xxx") 2 = str1.encode("gbk")2.decode ( ):解码,将字节类型转换为字符串类型,decode ( )
# 方式一:decode() # 注意:decode属于字节类型的功能 r3 = bytes(str1,encoding="utf-8") # 方式二:str(bytes,encoding="xxx") r4 = bytes(str1,encoding="gbk")编码和解码的格式必须保持一致,否则解码失败
3.字符串:“xxx” ‘xxx’ 三引号
字节:b’’
4.常用的编码格式:utf-8 gbk
格式化
1.%:占位符,%s【一切对象】,%d【整型】,%f【浮点型】
2.format ( ),底层工作原理:通过索引访问元组中的元素
name = "张三" age = 18 gender = "male" # 数量,类型的双重匹配 print("姓名:%s,年龄:%d,性别:%s" % (name,age,gender)) # 默认情况下,{}的数量和format中数据的数量保持一致,否则IndexError: tuple index out of range print("姓名:{},年龄:{},性别:{}".format(name,age,gender)) print("姓名:{0},年龄:{1},性别:{2}".format(name,age,gender)) #print("姓名:{},年龄:{},性别:{}".format(name,age)) # 如果指明索引,则{}的数量和format中的数据的数量可以不一致 print("姓名:{0},年龄:{1},性别:{0}".format(name,age)) print("姓名:{1},年龄:{1},性别:{1}".format(name,age,gender))3.f" "