Python相关面试题

python常用的库和模块

os    python与操作系统进行交互

sys  与python解释器相关的变量和方法

处理文件  json、csv

时间 time、datetime、date

随机数 random

正则表达式 re

读写文件  openpyxl (用于excel文件读写)、pandas 、xlrd(用于excel文件读取)、xlsxwrier(excel文件写入)、xpath(xml对象解析和格式化处理)

网络抓取和请求 requests、urllib(python自带的库)、urllib2、Beautiful Soup(网页数据解析和格式化处理工具,通常配合urllib、urllib2使用)

连接数据库  cx_oracle、pymysql

测试框架   pytest(python的一种单元测试框架)、unittest

自动化测试工具 selenium

python内置函数

abs()  返回绝对值

min()   max()

字符类型 int()  bool()  list()   dict()   tuple()  float()  

len() 

type()  

set()  创建一个无序不重复数组集

round()  返回浮点数的四舍五入值

reverse()  反向列表中元素

sorted()  可迭代对象排序操作

range()  创建一个整数列表

open()  打开文件

列表和元组的区别

  1. 列表是动态数组,它们可变而且可以重设长度,改变其内部元素的个数
  2. 元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变
  3. 元组缓存于python运行时环境,意味着每次使用元组时无需访问内核去分配内存

python装饰器和闭包

闭包就是一个函数定义中引入了函数外定义的表量,并且该函数可以在其定义环境外被执行

装饰器是闭包的特例,外部函数传的参数是函数名

python深拷贝和浅拷贝

深拷贝和浅拷贝最根本的区别在于是否真正获取一个对象的复制实体,而不是引用

深拷贝(deepcopy)是增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存

浅拷贝(shallowcopy)只是增加了一个指针指向已存在的内存地址

使用深拷贝时,释放内存的时候不会因为出现浅拷贝时释放同一个内存的错误

浅复制:仅仅是指向被复制的内存地址,如果原地址发生改变,那么浅复制出来的对象也会相应的改变

深复制:在计算机中开辟一块新的内存地址用于存放复制的对象

深拷贝和浅拷贝的实际场景?

比如想对某个数组或对象的值进行修改,但是又要暴露原来数组或对象的值不被修改,此时就可以用深拷贝来创建对象,从而达到操作(修改)新的数组或对象时,保留原来的数组和对象

 

 

posted on 2022-03-01 13:45  Wuxuanlin  阅读(31)  评论(0编辑  收藏  举报