百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

自动化测试工程师面试题(一)

itomcoil 2025-02-08 11:21 16 浏览

第一部分 python基础

1. 如何使用python 实现两个变量的值交换?

a,b = b,a利用Python赋值的方式


2. python 种的列表和元组有什么区别

a)列表是[]表示,元组是()表示

b)列表种的元素可以增删改,是可变的;元组中的元素只能查,是不能变动的。


3. python 中的局部变量和全局变量是什么?

全局变量:在函数外或全局空间种声明的变量称为全局变量。这些变量可以由程序中的任何函数访问。

局部变量:在函数内声明的任何变量都称为局部变量。此变量存在于局部空间中,而不是全局空间中。


4. pythn是否区分大小写?

是。Python是一种区分大小写的语言


5. 函数是什么,python中如何定义函数?

函数是一个代码块,,只有在被调用时才会被执行。要在Python种定义函数,需要使用def关键字。


6. python面向对象编程种,关键字self的含义是什么?如何使用?

self 表示类的实例或对象。在python中,self放在类的方法种的第一个参数。


7. python编程种,break,continue 的区别是什么?

break 是终止循环,跳出本层次循环的含义;continue是跳过当次循环,转而去判断下一次循环条件。


8. 在python中使用range()函数生成一个,1、3、5、7、9的列表怎么做?

Range(1,10,2)


9. python字符串转换题型?

Capitalize()函数可以将字符串的第一个字母大写;lower()函数把字符串转换为小写;upper()函数把字符串转换为大写等。


10. 函数中的不定长参数有哪两种形式表示,为什么要使用?

有 *args,**kwargs两种形式,当我们不确定将多少个参数传递给函数,或者我们想要将存储的列表或参数元组传递给函数时,我们使用*args。**当我们不知道将多少关键字 参数传递给函数时使用kwargs,或者它可以用于将字典的值作为关键字参数传递。


11. 列表或元组的索引使用负指数,功能是什么?

Python 中的序列是索引的,它由正数和负数组成,正数的索引使用‘0’作为第一个索引,‘1’作为第二个索引,进程继续使用。负数的索引从‘-1’开始,表示序列中的最后一个索引,‘-2’作为倒数第二个索引,序列向正数一样前进。


12. 如何在python中进行文件操作?

文件操作包含增删改查,要在pyhton中删除文件,先导入os模块,然后需要使用os.remove()函数;要在python中增加和修改文件,可以使用自带的open函数。


13. 之前公司拟用过的python编程规范是如何的?

包:全部小写,单词之间用下划线隔开,如:common_function模块

文件:全小写,单词之间用下划线隔开;

类:大驼峰命名法则,如:BasePage

属性/变量:全小写,单词之间用下划线隔开

方法/函数:全小写,单词之间用下划线隔开,动词写前面,如:open_url

全局变量:全大写,单词之阿金用下划线隔开,如:EXCEL_PATH


14. 如何在python中生存随机数?

可以使用python自带的random库,我之前在使用httprunner构建随机参数化封装的时候用过;random.randint(n,m)生成n到m范围内的一个随机数;random.choice([1,2,3,4,5,6,7,8,9,0]),从序列中随机选取一个元素。


15. 如何使用一行代码实现求1到1000之和?

使用该代码即可sum(range(0,1001))


16. python中的断言如何实现?

关键字:assert assert后面跟合法的表达式,当表达式为True时,不做任何操作,为False时会抛出异常,assert可以快速定位代码中的错误。


17. python 面向对象中的方法,都默认有一个参数self,作用是什么?

在python的类中self代码实例本身,具体来说,是该实例的内存地址。在调用实例的方法时,python解释器会自己把实例和变量传给类的函数中的self。


18. python 如何安装第三方模块?以及用过哪些第三方模块?

一般使用python内置的包管理工具,pip 进行在线安装,好处是可以自动解决包依赖问题,也可以使用离线安装方式,下载离线安装包后,进行解压,然后在解压的文件夹下执行python setup.py install即可安装。之前在企业用过selenium,requests,jsonpath,appnium,httprunner,Django等。


19. python 中自带的re模块match和search方法有什么区别。

match与search函数功能一样,match匹配字符串开始的第一个位置,search是在字符串全局匹配第一个符合规则的字符串。


20. 什么是正则的贪婪匹配?

贪婪匹配:正则表达式一般默认趋向于最大长度匹配,也就是所谓的贪婪匹配。非贪婪匹配:就是匹配到结果就好,就少的匹配字符。比如正则中的元字符。


21. def func(arg1,arg2=[])这种写法会有什么作用和效果?

该题考查函数中包含可变类型参数--列表,每次调用这个方法arg2不会每次都初始化,而是保留上一次的值,如果每次都想初始化,需要给arg2一个默认值none。


22. 一行代码如恶化实现删除列表中重复的值?

List(set(1,2,3,2))先把类别转化成集合类型,这样已经去重,然后转换成列表类型。


23. python面向对象中的继承有什么特点?

在python中,新建的类可以继承一个或多个父类(其他语言只能继承一个父类),父类又可以称为基类或超类;python3版本无论类是否继承object父类,都默认继承object。


24. 在python中,函数和方法的区别是什么。

函数:函数是封装了一些独立的功能,可以直接调用,python内置了许多函数,同时可以自建函数来使用。

方法;方法和函数类似,同样封装了独立的功能,但是方法需要通过对象来调用,表示针对这个对象要做的操纵,使用时采用对象+.进行调用。


25. Python 中异常处理写法

try:
'''执行语句'''
except
: #异常对象1
'''触发异常后执行语句'''
except
: #异常对象2
'''触发异常后执行语句'''
finally
: '''有没有一次都执行的语句'''
Else: '''没有异常执行的语句'''

一般except中一般把子类异常对象写在前面,父类对方写在后面。如果匹配,

子类对象提前触发,能显示更细致的报错原因。华友一个raise关键子,可以手动触发异常,一般和条件语句使用,作为第三方自定义业务异常用。


26. isinstance 作用以及应用场景?

Isinstance(对象参数,类参数)检查对象是否四该类的对象。


27. json序列化时,默认遇到中文会转换成unicode编码格式,如果想要保留中文怎么办?

之前我在接口测试框架中使用requests调用传递json数据姐时遇到过该问题,当时时这样处理的:json.dumps({"name":"小明"},ensure_ascii=False)。


28. Python的with关键字如何理解和使用?

它时一种上下文管理协议,目的在于从流程图中把try,except和finally关键字和资源分配释放相关代码统统去掉,简化try....except....finally的处理流程,简单来说,with表达式其实是try-finally的简写形式。但是又不是全相同。所谓上下文管理协议。这个类的实体里面要包含有对__enter__和—__exit__函数的定义才行。

使用:一般可以用来循环读写文件等使用。With后接一个打开文件对象,然后语句块中对文件进行循环操作,操作完文件后,自动结束。

一般应用场景:1、文件操作。2、进程线程之间互斥对象。3、支持上下问其他对象。


29. python函数有那些参数类型?

必备参数、默认值参数、关键字参数、收集参数(不定长参数,有*和**两种参数,*表示传递元组,**表示传递字典)。


30. Python的浅拷贝,深拷贝如何理解?

浅拷贝只是对另外一个变量的内存地址的拷贝,这两个变量指向同一个内存地址的变量值。浅拷贝的特点:公用一个值;这两个变量的内存地址一样;对其中一个变量的值的改变,另外一个变量的值也会改变;

如:L1 = [1,2,3];L2= L1

深拷贝:一个变量对另外一个变量的值拷贝。

深拷贝的特点:两个变量的内存地址不同;两个变量各有自己的值,且互不影响;对其任意一个变量的值的改变不会影响另外一个

如:L1 = [1,2,3];L2 = L1[:]

相关推荐

Python Qt GUI设计:将UI文件转换Python文件三种妙招(基础篇—2)

在开始本文之前提醒各位朋友,Python记得安装PyQt5库文件,Python语言功能很强,但是Python自带的GUI开发库Tkinter功能很弱,难以开发出专业的GUI。好在Python语言的开放...

Connect 2.0来了,还有Nuke和Maya新集成

ftrackConnect2.0现在可以下载了--重新设计的桌面应用程序,使用户能够将ftrackStudio与创意应用程序集成,发布资产等。这个新版本的发布中还有两个Nuke和Maya新集成,...

Magicgui:不会GUI编程也能轻松构建Python GUI应用

什么是MagicguiMagicgui是一个Python库,它允许开发者仅凭简单的类型注解就能快速构建图形用户界面(GUI)应用程序。这个库基于Napari项目,利用了Python的强大类型系统,使得...

Python入坑系列:桌面GUI开发之Pyside6

阅读本章之后,你可以掌握这些内容:Pyside6的SignalsandSlots、Envents的作用,如何使用?PySide6的Window、DialogsandAlerts、Widgets...

Python入坑系列-一起认识Pyside6 designer可拖拽桌面GUI

通过本文章,你可以了解一下内容:如何安装和使用Pyside6designerdesigner有哪些的特性通过designer如何转成python代码以前以为Pyside6designer需要在下载...

pyside2的基础界面(pyside2显示图片)

今天我们来学习pyside2的基础界面没有安装过pyside2的小伙伴可以看主页代码效果...

Python GUI开发:打包PySide2应用(python 打包pyc)

之前的文章我们介绍了怎么使用PySide2来开发一个简单PythonGUI应用。这次我们来将上次完成的代码打包。我们使用pyinstaller。注意,pyinstaller默认会将所有安装的pack...

使用PySide2做窗体,到底是怎么个事?看这个能不能搞懂

PySide2是Qt框架的Python绑定,允许你使用Python创建功能强大的跨平台GUI应用程序。PySide2的基本使用方法:安装PySide2pipinstallPy...

pycharm中conda解释器无法配置(pycharm安装的解释器不能用)

之前用的好好的pycharm正常配置解释器突然不能用了?可以显示有这个环境然后确认后可以conda正在配置解释器,但是进度条结束后还是不成功!!试过了pycharm重启,pycharm重装,anaco...

Conda使用指南:从基础操作到Llama-Factory大模型微调环境搭建

Conda虚拟环境在Linux下的全面使用指南:从基础操作到Llama-Factory大模型微调环境搭建在当今的AI开发与数据分析领域,conda虚拟环境已成为Linux系统下管理项目依赖的标配工具。...

Python操作系统资源管理与监控(python调用资源管理器)

在现代计算环境中,对操作系统资源的有效管理和监控是确保应用程序性能和系统稳定性的关键。Python凭借其丰富的标准库和第三方扩展,提供了强大的工具来实现这一目标。本文将探讨Python在操作系统资源管...

本地部署开源版Manus+DeepSeek创建自己的AI智能体

1、下载安装Anaconda,设置conda环境变量,并使用conda创建python3.12虚拟环境。2、从OpenManus仓库下载代码,并安装需要的依赖。3、使用Ollama加载本地DeepSe...

一文教会你,搭建AI模型训练与微调环境,包学会的!

一、硬件要求显卡配置:需要Nvidia显卡,至少配备8G显存,且专用显存与共享显存之和需大于20G。二、环境搭建步骤1.设置文件存储路径非系统盘存储:建议将非安装版的环境文件均存放在非系统盘(如E盘...

使用scikit-learn为PyTorch 模型进行超参数网格搜索

scikit-learn是Python中最好的机器学习库,而PyTorch又为我们构建模型提供了方便的操作,能否将它们的优点整合起来呢?在本文中,我们将介绍如何使用scikit-learn中的网格搜...

如何Keras自动编码器给极端罕见事件分类

全文共7940字,预计学习时长30分钟或更长本文将以一家造纸厂的生产为例,介绍如何使用自动编码器构建罕见事件分类器。现实生活中罕见事件的数据集:背景1.什么是极端罕见事件?在罕见事件问题中,数据集是...