面试python的必考题,收藏好了!拿高薪就靠它了

测试同学在进行python的面试过程中,必问的问题是你最常用的python模块有哪些?

这些模块解决了你工作中的哪些问题?

在这里我把测试同学在实际工作中常用的py模块进行了汇总,本文编写的目的是对各个模块的功能进行概要介绍并没有提供具体api的使用方法,如果大家想要深入了解各个模块api的具体应用,劳烦自行利用网络资源解决。

 

Python 模块概念

Python 模块是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块让你能够有逻辑地组织你的 Python 代码段。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。Python的模块分为:

1、标准模块、标准包

2、第三方模块

3、自己写的python文件

 

Python模块的引入

import 语句  import module1[, module2[,... moduleN]

from…import 语句  from modname import name1[,name2[, ... nameN]]

 

 Python模块的安装

在Python中,安装第三方模块,是通过setuptools这个工具完成的。Python有两个封装了setuptools的包管理工具:easy_install和pip。目前官方推荐使用pip。PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。PyPI推荐使用pip包管理器来下载第三方库。网址:https://pypi.org/

 pip install <包名> 或 pip install -r requirements.txt

 pip install requests 安装requests 模块

下载的第三方包会保存在 [Python目录]\Lib\site-packages 下

 pip list 查看安装了哪些模块

 pip uninstall requests 卸载requestes模块

 

 测试开发常用模块汇总

UI自动化测试:selenium、Appium-Python-Client

接口测试:requests、urllib

日志模块:logging

单元测试框架:unittest、pytest

文件处理模:lxml、xlrd和xlwt、 pandas、json

数据库模块:MySQLdb、sqlite3、cx_Oracle

其他模块:jenkins、mailbox、tomorrow、numpy

 

 UI自动化测试

Selenium

Selenium 是用于测试 Web 应用程序用户界面(UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多个编程语言编写测试(目前支持的语言有Java,Python,Ruby, C#),并且 Selenium能够在一个或多个浏览器中执行这些测试。

安装

pip install selenium

 

 Appium

Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web应用和混合应用。appium选择了Client/Server的设计模式。Appium 支持多语言(目前支持的语言有Java,Python,Ruby, C#等等)多平台(目前支持的平台有MAC和Windows)。Appium 的Python客户端是Appium-Python-Client

安装

pip install Appium-Python-Client

 

接口测试

Requests是一个很实用的Python的HTTP客户端库,编写爬虫和测试服务器响应数据(接口测试)时经常会用到。

Requests完全满足今日 web 的需求。包括功能如下:

  • Keep-Alive & 连接池

  • 国际化域名和 URL

  • 带持久 Cookie 的会话

  • 浏览器式的 SSL 认证

  • 自动内容解码

  • 基本/摘要式的身份认证

  • 优雅的 key/value Cookie

  • 自动解压

  • Unicode 响应体

  • HTTP(S) 代理支持

  • 文件分块上传

  • 流下载

  • 连接超时

  • 分块请求

  • 支持 .netrc

安装

pip install requests

另外urllib是 Python 内置的 HTTP 请求库,基础功能与Requests类似,但应用没有requests广泛。

 

日志模块

logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点:

  • 可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息;

  • print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据;logging则可以由开发者决定将信息输出到什么地方,以及怎么输出。

  • 日志级别:DEBUG < INFO < WARNING < ERROR< CRITICAL

日志基础输出:

logging.debug('This is debug message')
logging.info('This is info message')
logging.warning('This is warning message')

 

单元测试框架

Unittest是python内置的单元测试框架,关于单元测试相关的概念这里就不详细说明了,公众号中有很多相关文章。

 

Pytest是python的第三方单元测试框架,比unittest更简洁和高效,支持315种以上的插件,同时兼容nose、unittest 框架。

安装

pip install pytest

 

 文件处理

文件的读写包括常见的txt、Excel、xml、二进制文件以及其他格式的数据文本,主要用于本地数据的读写。

open(name[, mode[, buffering]])  Python默认的文件读写方法。

 

lxml支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。

安装

pip install lxml 

 

pandas读写excel(主要做数据分析)

安装

pip install pandas

 

json编码和解码 JSON对象。主要方法方法包括:

json.dumps(用于将dict类型的数据转成str) 和json.loads (用于将str类型的数据转成dict)

安装

pip install pandas

 

xlrd和xlwt xlrd:主要用来读取Excel文件;xlwt主要用来写入Excel文件

安装

pip install xlwt

pip install xlrd

 

数据库常用模块

数据库连接可用于连接众多数据库以及访问通用数据库接口,可用于数据库维护、管理和增、删、改、查等日常操作。

pymysql (Mysql)

cx_Oracle(oracle)

psycopg2( PostgreSQL )

redis(redis)

pymongo(mongo)

HappyBase(HBase)

 

其他模块

jenkins提供用来操控jenkins的api,是各个公司自动化发布平台的核心api。

安装

pip install python-jenkins

 

mailbox提供用来发送邮件的api,在接口测试和ui测试的框架中经常使用

安装

pip install mailbox

 

tomorrow用来产生多线程,使用起来非常的方便,只需要用其中的 threads方法作为装饰器去修饰一个普通的函数就可以达到并发的效果。例如:

@threads(5)
defthread_func():
    pass 

安装

pip install tomorrow

 

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,主要用于数组计算,包含:

  • 一个强大的N维数组对象 ndarray

  • 广播功能函数

  • 整合 C/C++/Fortran 代码的工具

  • 线性代数、傅里叶变换、随机数生成等功能

该模块在数据分析中使用十分广泛。

 

安装

pip install numpy

如果大家能够在实际工作中不断地对本文介绍的这些模块进行实际应用,相信大家一定会大幅提升自己的py编码能力并暂获心仪offer!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值