python自动化测试学习-Python的数据类型和字符串

数据类型是构成编程语言语法的基础。不同的编程语言有不同的数据类型,但都具有常用的几种数据类型。Python有几种内置的数据类型——数字、字符串、元组、列表和字典。本文将重点介绍数字和字符串。


1.数据类型

Python的数据类型分为整数,浮点数,布尔值,小数和复数类型。使用Python编写程序时,无需声明变量的类型。变量由Python内置的基本数据类型管理,并且在程序的后台实现诸如值与类型的关联以及类型转换之类的操作。

Python与其他高级语言定义变量的方式及内部原理有很大的不同。在C或Java中,定义一个整型的变量,可以采用如下方式表示:

inti=1;

在Python中,定义整型变量的表达方式更简练。

i=1

Python根据变量的值自动判断变量的类型。程序员无需关心变量是什么类型。只要将变量存储在一个数字中,以后的工作就只会在此数值上进行操作,Python将处理数字的生命周期。

更重要的一点是C或Java只是创建了一个int类型的普通变量。Python创建了整数对象,而Python自动完成了整数对象的创建,不再需要通过构造函数创建。Python中没有普通类型,任何类型都是对象。如果C或Java需要修改变量i的值,则只需重新分配它即可;Python无法修改对象i的值。例如:

1#下面的两个i并不是同一个对象
2i=1
3print(id(i))
4i=2
5print(id(i))

如果需要查看变量的类型,则可以使用Python定义的类型类。type是__builtin__模块的类,它可以返回变量的类型或创建新的类型。__builtin__模块是Python的内联模块。内联模块不需要import语句,并且由Python解释器自动导入。稍后,我们将介绍内联模块的更多类和功能。

下面这段代码返回了各种变量的类型。

1#整型
2i=1
3print(type(i))
4#长整型
5l=999999999999999999990#Python何时将int转为float跟操作系统位数相关
6printtype(l)
7#浮点型
8f=1.2
9print(type(f))
10#布尔型
11b=True
12print(type(b))

第3行代码输出结果:

第6行代码输出结果:

第9行代码输出结果:

第12行代码输出结果:

用Python来进行科学计算也很方便,因为Python内置了复数类型。Java、C#等高级语言则没有提供复数类型。

1#复数类型
2c=7+8j
3print(type(c))

第3行代码输出结果:

注意:复数类型的写法与数学中的写法相同,如果写为c=7+8i,Python不能识别其中的“i”,将提示语法错误。

2.字符串

有3种方法可以用Python表示字符串:单引号,双引号,三引号。单引号和双引号具有相同的作用。不同的程序员可以根据自己的习惯使用单引号或双引号。PHP程序员可能更习惯于使用单引号来表示字符串,而C和Java程序员习惯于使用双引号来表示字符串。在下面的代码中,单引号和双引号的使用是等效的。

1#单引号和双引号的使用是等价的
2str="helloworld!"#定义字符串变量str并赋值
3print(str)
4str='helloworld!'
5print(str)

第3行代码输出结果:

helloworld!

第5行代码输出结果:

helloworld!

三引号的用法是Python特别的语法,三引号中可以输入单引号、双引号或换行等字符。

1#三引号的用法
2str='''hesay"helloworld!"'''
3print(str)

第3行代码的三引号中带有双引号,双引号也会被输出。输出结果:

hesay"helloworld!"

三引号的另一种用法是制作文档字符串。Python的每个对象都有一个属性__doc__,这个属性用于描述该对象的作用。

1#三引号制作doc文档
2classHello:
3'''helloclass'''
4defprintHello():
5'''printhelloworld'''
6print("helloworld!")
7print(Hello.__doc__)
8print(Hello.printHello.__doc__)

第2行代码定义了一个名为Hello的类。

第3行是对Hello类的描述,该字符串将被存放在类的__doc__属性中。

第4行代码定义了一个方法printHello()。

第5行代码描述了printHello(),并把字符串存放在该函数的__doc__属性中。

第6行代码输出结果:

helloworld!

第7行代码输出Hello的__doc__属性的内容。输出结果:

helloclass

第8行代码输出printHello()的__doc__属性的内容。输出结果:

printhelloworld

如果要输出含有特殊字符(单引号、双引号等)的字符串,需要使用转义字符。Python中转义字符为“\”,和C、Java中的转义字符相同。转义操作只要在特殊字符的前面加上“\”即可。下面这段代码说明了特殊字符的转义用法。

1#转义字符
2str='hesay:\'helloworld!\''
3print(str)

第2行代码中的单引号是特殊字符,需要在“'”前加上转义字符。第3行代码的输出结果:

hesay:'helloworld!'

使用双引号或三引号可以直接输出含有特殊字符的字符串,不需要使用转义字符。

1#直接输出特殊字符
2str="hesay:'helloworld!'"
3print(str)
4str='''hesay:'helloworld!''''
5print(str)

第2行代码中使用了双引号表示字符串变量str,因此Python能够识别出双引号内部的单引号只是作为输出的字符。

第3行代码的输出结果:

hesay:'helloworld!'

第4行代码使用三引号表示字符串变量str,注意最后一个单引号后面留有一个空格,这个空格是为了让Python识别出三引号留下的。如果不留下这个空格,4个单引号连在一起,Python解释器不能正确识别三引号。提示如下错误:

SyntaxError:EOLwhilescanningsingle-quotedstring

第5行代码的输出结果:

hesay:'helloworld!'

注意:输出的字符串中含有单引号,使用双引号表示字符串即可。相反,输出的字符串中含有双引号时,可使用单引号表示字符串。

如果你想了解更多关于python自动化测试的专业知识,可以一起交流:7376这里面都是同行83259,合理利用自己每一分每一秒的时间来学习提升自己