想用 Python 做自动化测试?先来认识一下 Python

Python 是一门动态的、强类型的语言,是目前非常流行的语言。流行的主要原因是 Python 语言应用广泛,可以应用在 Web 开发、爬虫、数据分析、软件测试和机器学习等多个领域。另外,Python 语言简单易学,吸引了更多编程初学者的喜爱。Python 语言简洁的语法和丰富的第三方库,使得业务开发的效率非常高。在自动化测试领域,Python 可以说是一个多面手,可以进行服务端 API 接口测试、进行 WEB 自动化测试、APP 自动化测试、性能测试和测试平台开发等工作。因此要想转行自动化测试,做好自动化测试,掌握 Python 语言都是必要前提。

现在,跟着我对 Python 做一个初步的了解吧。文章后面的面试题,欢迎你在留言区写下答案,或者加入微信群与大家一起交流。

1.1 Python 语言的特性

1.1.1 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 "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'

常见的强类型语言有:

  • Python
  • Java

与之对应的是弱类型语言,比如 JavaScript,它就允许不同类型变量进行运算,比如:

var b = 'a';
var a = 1;
console.log(a + b ); //输出1a

JavaScript 在 string 和 int 相加时,自动将 int 转化为 string。常见的弱类型语言有:

  • C
  • C++
  • PHP
  • Javascript

1.1.2 Python 是解释型语言

Python 编写的程序,在运行之前不需要进行编译,而是通过 Python 解释器对程序一边解释一边执行的。

1.1.3 Python 是动态语言

Python 因为没有编译阶段,所以对变量的数据类型是在程序执行期间决定的。也就是在编写代码的时候可以不指定变量的数据类型,在程序执行时根据赋给变量的对象类型来确定变量的数据类型。常见的动态语言包括:

  • Python
  • JavaScrpit
  • PHP

变量的类型在编译阶段就已经确定的,是静态类型语言。常见的静态类型语言包括:

  • C/C++
  • Java
  • Scala

1.2 书写格式

Python 的书写格式规范主要涉及缩进格式、行间空行数、变量和等号空格等。完整的 Python 编码规范可以参考 PEP8。如果使用 Pycharm 开发,遇到不符合规范的编码,Pycharm 会有提示。MacOS 上,Pycharm 通过快捷键 option+command+l 可以对代码进行格式化,Windows 上的快捷键是 Ctrl + Alt + L。

1.2.1 缩进

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 个空格的缩进。

通过这种缩进层级结构,展现了代码的逻辑层次。

1.2.2 注释

注释可以起到一个说明和备注的作用,团队合作的时候,个人编写的代码经常会被多人调用,清晰详细的注释让调用者对所调用函数的使用方法和逻辑更加清晰。强烈建议大家写代码的时候添加适当的注释。Python 解释器对注释内容会忽略,不执行。

上面例子,第一行 #开头的就是一个注释,说明这段代码是在 test_demo.py 这个文件中。“”“”“” 是一个多行注释,经常用于描述类、函数或方法的作用、参数类型和返回值等。

1.3 版本及安装

1.3.1 版本

Python 官网在 2020 年 4 月 20 日发布了 Python2 的最后一个版本 2.7.18。从此之后不再对 Python2 的全部版本进行支持。因此,建议大家从今天开始,学习和使用 Python3.7 及其以后的版本。

1.3.2 安装

通常的安装方法是,通过下载对应操作系统的安装包,通过安装包的方式安装 Python。下载地址:https://www.python.org/downloads/。

但是,我更推荐使用 pyenv 方式安装,pyenv 使得在同一个系统上安装多个不同版本的 Python 变得简单。

1.3.3 开发工具

强烈建议开发 Python 代码时使用 Pycharm 这个集成开发环境。它配置简单,完全为 Python 开发打造。会让我们写代码的效率更好,不容易出错。

Pycharm 有两个版本,一个收费版本,一个社区版本。使用社区版本就足够满足我们日常的开发工作了。下载地址:https://www.jetbrains.com/pycharm/download/,选择 Community 版本。

1.4 变量

Python 中的变量,就是代数中的变量概念一样。用来代表或者说指向一个具体的数值、字符串等对象。

1.4.1 变量命名

在 Python 程序中,变量是用一个变量名表示,变量名必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头。最好是具有实际意义的英文单词,这样可以通过变量名称了解它的实际意义。例如:age,my_age,_gender,edge_1 等。

注意变量名不能与 Python 自带的关键字(keyword)同名。可以在 Python 的交互式命令行输入下面两行代码,查看 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']

1.4.2 变量赋值

在 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 解释器干了两件事情:

  1. 在内存中创建一个's'的字符串;
  2. 在内存中创建一个名为a的变量,并让 a 指向's'

当把一个变量 a 赋值给另一个变量 b 时,即上面代码中b=a,这个操作实际是把变量 b 指向变量 a 所指向的数据,即变量 b 也指向了变量 a 指向的's'

a=a+‘m’,并不是让 a 的值拼接一个 m,而是表示重新创建了一个新的 sm 的对象,并让 a 指向它。但是 b 仍然不变,仍然指向 s 这个对象。

上面图示中的对象和变量是一回事。在 Python 中一切皆是对象。

1.4.3 数据类型

变量指向的对象,都有固定的类型,比如:

  • 整数
  • 浮点数
  • 字符串
  • 布尔值

可以通过 type () 函数查看变量的类型:

>>> a=10
>>> type(10)
<class 'int'>
>>> b='st'
>>> type(b)
<class 'str'>
>>> c=True
>>> type(c)
<class 'bool'>
>>> d=10.0
>>> type(d)
<class 'float'>

数据的类型用来表示对象的取值范围以及可以对它进行什么操作。除了上面的数据类型,Python 中还有元组、列表、字典、集合等类型。

1.5 面试题

  1. 什么是强类型语言?什么是弱类型语言?Python 是强类型语言还是弱类型语言?
  2. Python 语言如何区分代码之间的层次结构?
  3. 什么是注释?怎么样给 Python 代码增加注释?
  4. Python 的变量命名规则是怎样的?
  5. Python 内部的内置关键字有哪些,如何查看?
  6. Python 的赋值语句怎么写?赋值时,Python 解释器干了什么事情?
  7. 为什么编程语言要有不同的数据类型?Python 语言如何查看一个对象的数据类型?

这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!

优快云大礼包:全网最全《全套Python学习资料》免费分享🎁

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述
因篇幅有限,仅展示部分资料

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

5️⃣Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述
在这里插入图片描述
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值