Python是一门动态的、强类型的语言,是目前非常流行的语言。流行的主要原因是Python 语言应用广泛,可以用应用在Web开发、爬虫、数据分析、软件测试和机器学习等多个领域。另外,Python语言简单易学,吸引了更多编程初学者的喜爱。Python语言简洁的语法和丰富的第三方库,使得业务开发的效率非常高。在自动化测试中,Python也是首选的编程语言,可以做接口测试、web测试、app测试、性能测试和测试平台开发。
Python测试开发核心笔记系列文章第一篇,先来认识Python这门编程语言。
强类型是针对弱类型而言的。对于强类型语言和弱类型语言并没有明确的定义,维基百科上这样说:
in general a strongly typed language is more likely to generate an error or refuse to compile a program if the argument passed to a function does not closely match the expected type. A very weakly typed language may produce unpredictable results or may perform implicit type conversion instead.
直观上来说,Python强类型表现在不允许两种不同类型的变量相互操作。比如,在python交互式命令行中输入下面的代码:
>>> b="a"
>>> a=1
>>> a+b
按回车键后,则会收到TypeError异常,表示 int 变量和 str 变量 不能用+操作符。
Traceback (most recent call last):
File "", line 1, in
TypeError: unsupported operand type(s) for +: 'int' and 'str'
常见的强类型语言有:
与之对应的是弱类型语言,比如 JavaScript,它就允许不同类型变量进行运算,比如:
var b = 'a';
var a = 1;
console.log(a + b ); //输出1a
JavaScript 在string 和 int 相加时,自动将int转化为 string。常见的弱类型语言有:
Python编写的程序,在运行之前不需要进行编译,而是通过Python解释器对程序一边解释一边执行的。
Python因为没有编译阶段,所以对变量的数据类型是在程序执行期间决定的。也就是在编写代码的时候可以不指定变量的数据类型,在程序执行时根据赋给变量的对象类型来确定变量的数据类型。常见的动态语言包括:
变量的类型在编译阶段就已经确定的,是静态类型语言。常见的静态类型语言包括:
Python的书写格式规范主要涉及缩进格式、行间空行数、变量和等号空格等。 完整的Python 编码规范可以参考PEP8。如果使用Pycharm开发,遇到不符合规范的编码,Pycharm会有提示。
Python 最具特色的地方就是用缩进代替 Java、C++ 中的 {}
,缩进的层级结构表示代码的逻辑层次。Python 的缩进方法,一般为 4 个空格。下面这个例子来自Python著名的单元测试框架Pytest。
# content of test_demo.py
class TestClass:
"""
测试类,可以有多个测试函数
"""
def test_one(self):
"""第一个测试函数"""
x = "this"
# 验证this中含有h字符
assert "h" in x
def test_two(self):
x = "hello"
assert hasattr(x, "check")
class TestClass
与代码行 def test_one(self):
之间有 4 个字符的缩进;def test_one(self)
与 assert
也有4 个字符的缩进。通过这种缩进层级结构,展现了代码的逻辑层次。
注释可以起到一个说明和备注的作用,团队合作的时候,个人编写的代码经常会被多人调用,清晰详细的注释让调用者对所调用函数的使用方法和逻辑更加清晰。强烈建议大家写代码的时候添加适当的注释。Python解释器对注释内容会忽略,不执行。
上面例子,第一行#开头的就是一个注释,说明这段代码是在test_demo.py这个文件中。""" “”"是一个多行注释,经常用于描述类、函数或方法的作用、参数类型和返回值等。
Python官网在2020年4月20日发布了Python2的最后一个版本2.7.18。从此之后不再对Python2的全部版本进行支持。因此,建议大家从今天开始,学习和使用Python3.7及其以后的版本。
通常的安装方法是,通过下载对应操作系统的安装包,通过安装包的方式安装Python。 下载地址:https://www.python.org/downloads/。
但是,我更推荐使用pyenv方式安装,pyenv使得在同一个系统上安装多个不同版本的Python变的简单。这部分计划在本专栏第二篇章,搭建测试开发环境那节介绍。
强烈建议开发Python代码时使用Pycharm这个集成开发环境。它配置简单,完全为Python开发打造。会让我们写代码的效率更好,不容易出错。
Pycharm有两个版本,一个收费版本,一个社区版本。使用社区版本就足够满足我们日常的开发工作了。下载地址:https://www.jetbrains.com/pycharm/download/,选择Community版本。
Python中的变量,就是代数中的变量概念一样。用来代表或者说指向一个具体的数值、字符串等对象。
在Python程序中,变量是用一个变量名表示,变量名必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头。最好是具有实际意义的英文单词,这样可以通过变量名称了解它的实际意义。例如:age,my_age,_gender,edge_1等。
注意变量名不能与Python自带的关键字(keyword)同名。可以在Python的交互是命令行输入下面两行代码,如下所示:
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
在Python中,等号=
是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。在Python交互式命令行输入:
>>> a=1 # a赋值为数值1
>>> a='s' # a又被赋值为字符串s
>>> b=a # 变量a赋值给变量b
>>> c=d=10 # c和d连续赋值为10
>>> a=a+'m' # a变成sm
>>> b # 依然是s
而且Python语言,在变量赋值之前,不需要声明变量,可以直接赋值。
当给变量a赋值为s时,即书写代码a = 's'
时,Python解释器干了两件事情:
's'
的字符串;a
的变量,并让a指向's'
b=a
,这个操作实际是把变量b指向变量a所指向的数据,即变量b也指向了变量a指向的's'
。变量指向的对象,都有固定的类型,比如:
可以通过type()函数查看变量的类型:
>>> a=10
>>> type(10)
>>> b='st'
>>> type(b)
>>> c=True
>>> type(c)
>>> d=10.0
>>> type(d)
数据的类型用来表示对象的取值范围以及可以对它进行什么操作。
除了上面的数据类型,Python中还有元组、列表、字典、集合等类型。
欢迎留言写下答案,欢迎关注作者公众号。