一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“Python常见的几种编程模式”。
本章节给大家更新一下“Python语法规范与数据类型”相关内容,主要是为了让大家了解Python有什么类型的编程模式,掌握Python的基本语法,清楚怎么输出及命令行参数的基本应用,对Python的数据类型了解后,以便做更多的相关操作。
一、常见的编程模式
①Python交互式命令编程
②Python脚本编程
③中文编码处理
1.交互式命令编程模式
交互式命令编程模式就是一种典型逐行读取执行模式。
当程序只有一行或较少的时候,这种编程模式是比较典型的应用方式。
下图使用PythonIDLE编辑器进行编程,而该编辑器的编程模式就是典型的交互式命令编符号
>>>就是输入交互命令的提示符,每次输入完毕后回车,该命令就被Python解析器执行。
2.脚本编程模式
当我们需要编写较为复杂或大段的代码的时候,命令式编程就显得不够方便。
因此,Python提供了脚本编程模式。可以创建一个后缀名为*.py的脚本文件,将大量的代码编写到该文件中,这样便于代码的维护和更新,之后再使用交互命令执行或IDE 工具运行即可。
3.字符编程
字符串是一种数据类型。但是,字符串还有一个比较特殊的编码问题。
因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。
补充:字符编码发展史
最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是65535,4 个字节可以表示的最大整数是4294967295。
由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。
扩展:unicode字符集
Python3之所以能够很好地解决中文乱码问题,在于其将所有的字符串都是用unicode进行字符编码。
Unicode把所有的语言统一到一套编码里,这样就不会有乱码了。
Unicode也在不断的发展,但最常用的是用两个字节表示一个字符(如果遇到非常生僻的字符,就需要4字节)。现在我们见到的大多数操作系统和大多数编程语言都支持unicode。
ASCII编码是1个字节,而Unicode编码通常是2个字节
扩展:UTF-8字符集
新的问题又出现了:如果统一成Unicode编码,乱码问题从此消失了。但是,如果你写的文本基本上全部是英文的话,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储和传输上就十分不划算。
解决办法的诞生:又出现了把Unicode编码转化为“可变长编码”的UTF-8编码。
UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。
如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。
UTF-8编码有一个额外的好处,就是ASCII编码实际上可以被看成是UTF-8编码的一部分,所以,大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作。
特别注意:计算机内存中,统一使用Unicode编码
二、python3字符编码
在Python3版本中,字符串都是以Unicode编码的,也就是说,Python字符串支持多语言。
单个字符的编码,Python提供了ord()函数获取单个字符的十进制整数表示,chr()函数把编码转换成对应的字符。
示例:
>>> ord(‘A’)
65
>>> ord(‘中’)
20013
>>> chr(66)
‘B’
>>> chr(25991)
‘文’
Python源代码也是一个文本文件 ,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这行
#-*- coding:utf-8 *-
注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。