相城建设监理有限公司网站,vs2015做网站的后端,新一代设计协作工具,wordpress网站翻译我们的目标是#xff1a;通过这一套资料学习下来#xff0c;通过熟练掌握python基础#xff0c;然后结合经典实例、实践相结合#xff0c;使我们完全掌握python#xff0c;并做到独立完成项目开发的能力。 上篇文章我们通过举例学习了流程控制语句中的循环语句。今天继续讨…· 我们的目标是通过这一套资料学习下来通过熟练掌握python基础然后结合经典实例、实践相结合使我们完全掌握python并做到独立完成项目开发的能力。 上篇文章我们通过举例学习了流程控制语句中的循环语句。今天继续讨论基本数据类型字符串。 字符串是连续的字符序列也是序列的一种。 1、字符串定义
字符串是一种序列一般是双引号或者单引号括起来的元素序列。其中若使用’’ 单引号或者双引号””字符序列需要在同一行若是使用’’’ ‘’’ 三引号可以分布在连续的多行。 举例说明 #codingutf-8 str1 我爱祖国 str2 abcde str3 我是男生喜欢 打篮球。 print(str1) print(str2) print(str3) 输出结果 2、常见的转义字符
\ -------续行符
\n -------换行符
\0 -------空
\t --------水平制表符用于横向跳到下一制表符
\” --------双引号
\’ ---------单引号
\\ ---------一个反斜杠
\f ---------换页
\0dd ---------八进制数dd代表字符
\xhh ---------十六进制 3、字符串编码转换
最早的字符串编码是美国标准信息交换码即ASSCII码。后面各国都需要编码于是出现了GBK、GB2312、UTF-8编码等。GBK、GB2312是我国制定的中文编码标准使用一个字节表示英文字母两个字节表示中文字符。UTF-8是国际通用的编码对全世界所有国家需要用到的字符都进行了编码它采用一个字节表示英文字符用3个字节表示中文。在python 3.x 中默认采用UTF-8编码这种编码避免了中文乱码问题的发生。
另外在python 中有两种常用的字符串类型如str、bytes。其中str表示Unicode 字符ASSCII或者其他bytes表示二进制数据。
注意bytes 类型的数据是带有b前缀的字符串使用单引号或者双引号表示。如b’\xd2\xb0’
和b’mr’都是bytes 类型的数据 1使用encode()方法编码
使用encode()方法将str转化为二进制数据bytes这个过程也成为编码。
参考语法str.encode([encoding”utf-8”][,errors”strict”])
说明 str------表示要进行转换的字符串 encoding”utf-8”-------可选参数指定的转换时需要采用的编码 errors”strict”-------可选参数用于指定错误处理方式其可选strict遇到非法字符就抛出异常ignore忽略非法字符replace用““替代非法字符 注意使用encode方法时不会修改原字符串。 举个小栗子
str3 我是男生喜欢 打篮球。 byte1 str3.encode(GBK) byte2 str3.encode(utf-8) print(原字符串为,str3) print(转换后的字符串,byte1) print(转换后的字符串,byte2)
采用两种不同的编码方法输出的结果不同。
打印结果 2使用decode方法解码
使用decode()方法用于将二进制数据转换为字符串。也称之为解码。 使用语法 bytes.decode([encoding”utf-8”][,errors”strict”])
说明 bytes ------表示要进行转换的二进制数据 encoding”utf-8”-----------可选参数指定的转换时需要采用的编码 errors”strict”-------可选参数用于指定错误处理方式其可选strict遇到非法字符就抛出异常ignore忽略非法字符replace用““替代非法字符 注意在指定解码采用的字符编码时需要采用与编码时采用的字符编码一致。 我们举个例子
str3 我是男生喜欢 打篮球。 byte1 str3.encode(GBK)byte2 str3.encode(utf-8) print(原字符串为,str3) print(转换后的字符串,byte1) print(转换后的字符串,byte2) #解码 str_new1 byte1.decode(GBK)str_new2 byte2.decode(GBK) print(str_new1) print(str_new2) 由于上面黄色标识的部分解码和编码的格式不一样就会报错。 需改好正常执行 4、字符串拼接
这个比较简单直接使用即可完成。
举个小栗子
str1 我爱祖国 str2 I am Dewi, str3 我是男生喜欢 打篮球。 print(str1 str2 str3)
输出如下 5、计算字符串的长度
由于不同的字符占字节数不同因此要计算字符串的长度需要先了解各个字符所占的字节数。一般数字、英文、小数点、下划线和空格占一个字节一个汉字可能会占用2-4个字节取决于采用的编码。
汉字在GBK/GB2312 占2个字节
汉字在UTF-8/Unicode 占3个或者4个字节 举例说明
str1 我爱祖国! str2 I am Dewi, str_add str2 str1 print(len(str_add)) #默认时计算所有英文、数字、汉字、空格都是一个字符占一个字节 print(len(str_add.encode(utf-8)))#指定utf-8,汉字占3个字节其它占一个字节,4*311 print(len(str_add.encode(GBK)))#指定GBK,汉字占2个字节其它占一个字节,4*211 输出结果参考 今天先写到这里了每天进步一点点。今天也要加油啊