本文最后更新于:1 年前
(一)概述:
字符串类型,也是文本序列类型,是Python中最常用的类型,在Python中是str类型。
在Python3.x版本中,字符串全部是由Unicode国际码构成的,是一个不可变序列,其存储位数全部为16位,不再有8位的ASCII码存储了。
但是如果需要在网络上传输或者保存到磁盘,这个序列需要变成以字节为单位的bytes。对于Python来说,bytes类型的数据只需要在字符串前面加上b前缀即可。
Unicode表示的str通过encode()方法可以编码为指定bytes,而bytes变为str可以统decode()方法转换。
注意:python中没有字符类型,单个字符默认为字符串类型。
格式化内容请参考python基础——输入和输出详解
本文无字符串函数讲解(太多了),可能以后会再补充博客进行单独说明~
1 2 3 4 5 6 7 8 9 10 11 12 13 a = "我" b = "我" .encode()c = "a" d = b"a" print (a," " ,type (a ))print (b," " ,type (b ))print (c," " ,type (c ))print (d," " ,type (d ))# 输出结果: # 我 <class 'str'> # b'\xe6\x88\x91' <class 'bytes'> # a <class 'str'> # b'a' <class 'bytes'>
(二)形式:
单引号,形式为 '字符串内容 ' ,单引号内允许含有双引号。
双引号,形式为 "字符串内容 " ,双引号内允许含有单引号。
三引号且均为单/双引号,此为长字符串,形式为 '''字符串内容 "'或者是 """字符串内容 """ ,此内容可以跨越多行,而且允许字符串包含换行符、制表符、单双引号(不会冲突)以及其他特殊字符,所有的空白字符也将包含在该字符串中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 a = '1' b = "1" c = """1 2 3 "" 4""" d = '''1 2 3 '' 4''' print ("name,a:" ,a)print ("name,b:" ,b)print ("name,c:" ,c)print ("name,d:" ,d)
(三)原始字符串:
在字符串或者长字符串的开头加上r/R前缀,字符串将会变为原始字符串。
在原始字符串中,反斜杠不再是转义字符,所有内容均保持不变。
但如果出现引号,反斜杠仍然会对引号进行转义,这会导致如果是结尾处出现反斜杠,会将后面的引号转义,导致没有结束引号而产生错误,且这个反斜杠没有办法转义自己,无法断开与后面引号的练习。
解决方法:利用字符串拼接,将最后一个\放到另一个非原始字符串中然后进行拼接即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 a = r"\n\n\n\n\n" b = R"abcd\t" c = r'\\aaa' d = r"D:\pycharmwork" +"\\" print (a)print (b)print (c)print (d)
(四)转义字符:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 \n :换行 \\ :反斜杠符号 \' :单引号 \" :双引号 \000:空 \a :响铃 \b :退格 \v :纵向制表符 \t :横向制表符 \r :回车 \f :换页 \oyy:八进制数,yy代表的字符,例如:\o12代表换行 \xyy:十六进制数,yy代表的字符,例如:\x0a代表换行 \other:其它的字符以普通格式输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 a = "\\" b = "1\n2\n3" c = "\"我\'" d = "wi\000n" e = "1\t2\t3\t" f = "1111\b\b\b" g = "\012 \x24" h = "\v\v\v" i = "\r\r\r" print("显示值:"+a,b,c,d,e,f,g,h,i,sep="\n显示值:")
(五)字符串操作:
1 2 3 4 5 6 7 8 + 字符串连接 * 重复输出字符串 [] 通过索引获取字符串中字符[x:y] 截取字符串中的一部分,遵循左闭右开原则. in 成员运算符-如果字符串中包含给定的字符返回True not in 成员运算符-如果字符串中不包含给定的字符返回Truer /R 原始字符串 % 格式化字符串
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 a = "I" +" " +"Love" +"the world" +"!" b = "帅" * 8 c = a[2] d = a[0:6] e = "" f = "" if c in a: e ="666" else : e ="欧尼酱~" if b not in a: f ="1" else : f ="0" print (a,b,c,d,e,f,sep ="\n" )