字符串类型及相关操作

it2023-06-27  72

字符串

由若干个字符串组成的一个序列,其中的字符可以是字母,数字,符号,中文等

字符串属于不可变的数据类型,可以作为字典的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 ( ) :从左往右进行检索,返回被查找的子字符串在原字符串中第一次

出现的位置,如果查找不到返回-1

2.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" "

最新回复(0)