python面试题网站有哪些_互联网公司Python的16道经典面试题

news/2024/5/22 5:18:39/文章来源:https://blog.csdn.net/weixin_39619478/article/details/109984841

随着Python在企业中的应用越来越多,岗位需求越来越大,面试成为了搞定优质职位的快速方式,下面是笔者面试10余家企业总结的面试题,希望对Python从业者有帮助。

Python是如何进行内存管理的?

答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制

o4YBAFqrHc6AKC9pAAGurEz9tGU865.png

一、对象的引用计数机制

Python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。

引用计数增加的情况:

1,一个对象分配一个新名称

2,将其放入一个容器中(如列表、元组或字典)

引用计数减少的情况:

1,使用del语句对对象别名显示的销毁

2,引用超出作用域或被重新赋值

sys.getrefcount( )函数可以获得对象的当前引用计数

多数情况下,引用计数比你猜测得要大得多。对于不可变数据(如数字和字符串),解释器会在程序的不同部分共享内存,以便节约内存。

二、垃圾回收

1,当一个对象的引用计数归零时,它将被垃圾收集机制处理掉。

2,当两个对象a和b相互引用时,del语句可以减少a和b的引用计数,并销毁用于引用底层对象的名称。然而由于每个对象都包含一个对其他对象的应用,因此引用计数不会归零,对象也不会销毁。(从而导致内存泄露)。为解决这一问题,解释器会定期执行一个循环检测器,搜索不可访问对象的循环并删除它们。

三、内存池机制

Python提供了对内存的垃圾收集机制,但是它将不用的内存放到内存池而不是返回给操作系统。

1,Pymalloc机制。为了加速Python的执行效率,Python引入了一个内存池机制,用于管理对小块内存的申请和释放。

2,Python中所有小于256个字节的对象都使用pymalloc实现的分配器,而大的对象则使用系统的malloc。

3,对于Python对象,如整数,浮点数和List,都有其独立的私有内存池,对象间不共享他们的内存池。也就是说如果你分配又释放了大量的整数,用于缓存这些整数的内存就不能再分配给浮点数。

2.什么是lambda函数?它有什么好处?

答:lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数

lambda函数:首要用途是指点短小的回调函数

lambda [arguments]:expression

>>> a=lambdax,y:x+y

>>> a(3,11)

3.Python里面如何实现tuple和list的转换?

答:直接使用tuple和list函数就行了,type()可以判断对象的类型

4.请写出一段Python代码实现删除一个list里面的重复元素

答:

1,使用set函数,set(list)

2,使用字典函数,

>>>a=[1,2,4,2,4,5,6,5,7,8,9,0]

>>> b={}

>>>b=b.fromkeys(a)

>>>c=list(b.keys())

>>> c

5.编程用sort进行排序,然后从最后一个元素开始判断

a=[1,2,4,2,4,5,7,10,5,5,7,8,9,0,3]

a.sort()

last=a[-1]

for i inrange(len(a)-2,-1,-1):

if last==a[i]:

del a[i]

else:last=a[i]

print(a)

6.Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)

答:赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。

浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改改变){1,完全切片方法;2,工厂函数,如list();3,copy模块的copy()函数}

深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变){copy模块的deep.deepcopy()函数}

7.介绍一下except的用法和作用?

答:try…except…except…[else…][finally…]

执行try下的语句,如果引发异常,则执行过程会跳到except语句。对每个except分支顺序尝试执行,如果引发的异常与except中的异常组匹配,执行相应的语句。如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。

try下的语句正常执行,则执行else块代码。如果发生异常,就不会执行

如果存在finally语句,最后总是会执行。

8.Python中pass语句的作用是什么?

答:pass语句不会执行任何操作,一般作为占位符或者创建占位程序,whileFalse:pass

9.介绍一下Python下range()函数的用法?

答:列出一组数据,经常用在for  in range()循环中

10.如何用Python来进行查询和替换一个文本字符串?

答:可以使用re模块中的sub()函数或者subn()函数来进行查询和替换,

格式:sub(replacement, string[,count=0])(replacement是被替换成的文本,string是需要被替换的文本,count是一个可选参数,指最大被替换的数量)

>>> import re

>>>p=re.compile(‘blue|white|red’)

>>>print(p.sub(‘colour’,'blue socks and red shoes’))

colour socks and colourshoes

>>>print(p.sub(‘colour’,'blue socks and red shoes’,count=1))

colour socks and redshoes

subn()方法执行的效果跟sub()一样,不过它会返回一个二维数组,包括替换后的新的字符串和总共替换的数量

11.Python里面match()和search()的区别?

答:re模块中match(pattern,string[,flags]),检查string的开头是否与pattern匹配。

re模块中research(pattern,string[,flags]),在string搜索pattern的第一个匹配值。

>>>print(re.match(‘super’, ‘superstition’).span())

(0, 5)

>>>print(re.match(‘super’, ‘insuperable’))

None

>>>print(re.search(‘super’, ‘superstition’).span())

(0, 5)

>>>print(re.search(‘super’, ‘insuperable’).span())

(2, 7)

12.用Python匹配HTML tag的时候,和有什么区别?

答:术语叫贪婪匹配( )和非贪婪匹配()

例如:

test

:

test

:

13.Python里面如何生成随机数?

答:random模块

随机整数:random.randint(a,b):返回随机整数x,a<=x<=b

random.randrange(start,stop,[,step]):返回一个范围在(start,stop,step)之间的随机整数,不包括结束值。

随机实数:random.random( ):返回0到1之间的浮点数

random.uniform(a,b):返回指定范围内的浮点数。

14.有没有一个工具可以帮助查找python的bug和进行静态的代码分析?

答:PyChecker是一个python代码的静态分析工具,它可以帮助查找python代码的bug, 会对代码的复杂度和格式提出警告

Pylint是另外一个工具可以进行codingstandard检查

15.如何在一个function里面设置一个全局的变量?

答:解决方法是在function的开始插入一个global声明:

def f()

global x

16.单引号,双引号,三引号的区别

答:单引号和双引号是等效的,如果要换行,需要符号(\),三引号则可以直接换行,并且可以包含注释

如果要表示Let’s go 这个字符串

单引号:s4 = ‘Let\’s go’

双引号:s5 = “Let’s go”

s6 = ‘I realy like“python”!’

这就是单引号和双引号都可以表示字符串的原因了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_761767.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sql优化常用的几种方法_网站外链建设常用的几种方法

外链是SEO工作中的重点内容&#xff0c;也是SEO需要持续的工作之一&#xff0c;即使是在推出绿萝算法后&#xff0c;外链也是让网站获取收录排名的方法。在实际SEO优化过程中&#xff0c;外链依然是让大部分SEO优化人员无从下手&#xff0c;小编整理下外链建设的几种方法仅供参…

利用JS实现购物网站商品放大镜效果

大家几乎都有在网上购物的经验&#xff0c;有的网站会有一个商品放大镜功能&#xff0c; 就是把鼠标移到图片上的时候&#xff0c;旁边会有另外一张大的图片展示&#xff0c;等同于 放大镜效果&#xff0c;那这样的效果怎样实现的呢&#xff0c;我把代码发给大家&#xff0c;请…

新站软件快速排名_新网站快速排名方法有哪些?新站优化排名需要注意什么?...

很多新网站建站后都有这样的忧虑&#xff0c;就是优化了一段时间&#xff0c;排名不见提升&#xff0c;流量不见增加&#xff0c;只能羡慕着竞争对手每天访客如云。但是&#xff0c;空想着并不会天上掉流量。所以&#xff0c;今天的干货重点给大家分享关于新网站快速排名的方法…

开线程插数据_Python数据分析之数据采集:使用3个线程采集电子商务网站数据...

《大数据和人工智能交流》头条号向广大初学者新增C 、Java 、Python 、Scala、javascript 等目前流行的计算机、大数据编程语言&#xff0c;希望大家以后关注本头条号更多的内容。使用python编写3个线程同时采集商品“新品上架”的信息&#xff1a;一、页面参考信息页面部分代码…

seo模拟点击软件_SEO快排

seo优化技术作为搜索引擎营销的附属服务已经存在很多年了&#xff0c;其中技术奥妙想必大家都有了解。通常由于搜索规则的调整&#xff0c;很难让一个词稳定在一个位置。尽管seo站长会采用高权重外链&#xff0c;泛解析站群&#xff0c;机器人采集内容等手段增加上词概率&#…

h5 企业网站asp源码_老旧企业网站该如何进行SEO优化改版与调整

互联网的发展时间已经有几十年的历史了&#xff0c;而有不少企业在互联网发展的早期就已经开始建立起了自己的企业网站。对于这部分企业来说&#xff0c;其企业网站建立的时间较久&#xff0c;但是使用的相关建站技术也是较为陈旧。在互联网发展的的近十年&#xff0c;相关的建…

大型网站架构演化

前言 一个成熟的大型网站&#xff08;如淘宝、京东等&#xff09;的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性&#xff0c;它总是随着用户量的增加&#xff0c;业务功能的扩展逐渐演变完善的&#xff0c;在这个过程中&#xff0c;开发模式、技术架构、设计…

js 网页 隐藏地址栏_微软开放新开源网站;一行代码错误:5亿美金没了;Chrome86继续隐藏URL...

导读&#xff1a;本文给各位安利几个对于开发者有用的资讯和经验&#xff0c;希望对大家有借鉴。微软上线新开源网站近年来&#xff0c;微软对开放源代码似乎是上了瘾&#xff0c;细数下来它陆陆续续开源了不少产品&#xff0c;而且还增加了很多更新频率。这不&#xff0c;它刚…

克隆网站工具_一款开源且超好用的网站克隆机 HTTrack

0x00 前言我们在学习前端的时候&#xff0c;总是会想着去学习其他人网站是如何制作的&#xff0c;或者我们遇到一些比较有用的知识点的时候&#xff0c;我们可能会选择通过 Ctrl C / Ctrl V 去扒下内容&#xff0c;然而我并非是鼓励这种扒网站的行为&#xff0c;不过只要是开…

Jmter接口网站压力测试工具使用记录

1.首先下载Jmeter 官方地址&#xff1a;http://jmeter.apache.org/ 2.安装Jmeter 把下载的文件进行解压&#xff0c;产生如下目录&#xff1a;打开bin文件夹下的jmeter.bat文件及进入程序的主界面窗体jmeter.log是日志文件。主意&#xff1a;需要配置java环境。3.jmter创建一个…

(大型网站之Nginx)图解正向代理、反向代理、透明代理

一、正向代理(Forward Proxy)一般情况下&#xff0c;如果没有特别说明&#xff0c;代理技术默认说的是正向代理技术。关于正向代理的概念如下&#xff1a; 正向代理(forward)是一个位于客户端【用户A】和原始服务器(origin server)【服务器B】之间的服务器【代理服务器Z】&…

从零开始建站(二) - 数据库与项目规划

简介&#xff1a; 这节来介绍个人网站项目的数据库字段选择与项目整体的规划&#xff0c;上一节讲了准备工作和环境搭建&#xff0c;就好比建一栋大楼&#xff0c;上节我们把材料买齐了&#xff0c;地基打好了&#xff0c;然后我们这节就是来思考一下我们要怎样利用这些材料&am…

vc++使用cookie登录网站

以http://www.idc816.com为例 效果图: 1&#xff09;先登录获取cookie,再使用cookie获取用户信息 2)记录cookie,关闭程序后重新运行程序&#xff0c;直接获取用户信息 使用Fiddler抓包分析: 由于IWinHttpRequest对象会自动处理302跳转&#xff0c;但是服务器返回的cookie&#…

微信打开网站被提示已停止访问该网页该如何解决

2019独角兽企业重金招聘Python工程师标准>>> 今天早晨发现我们公司网站只要在微信和qq中打开&#xff0c;分别被微信提示&#xff1a;已停止访问该网页&#xff0c;该网站链接以及在qq上被提示危险网站&#xff0c;千万别访问,首先先看下微信中打开网址被微信拦截并…

大型网站技术架构(四)网站的高性能架构

2019独角兽企业重金招聘Python工程师标准>>> 网站性能是客观的指标&#xff0c;可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。 1、性能测试指标 1.1 响应时间 指应用执行一个操作需要的时间&#xff0c;指从发出请求到最后收到响应数据所需要的时…

大型网站技术架构(七)网站的可扩展性架构

2019独角兽企业重金招聘Python工程师标准>>> 扩展性是指对现有系统影响最小的情况下&#xff0c;系统功能可持续扩展或提升的能力。 设计网站可扩展架构的核心思想是模块化&#xff0c;并在此基础上&#xff0c;降低模块间的耦合性&#xff0c;提供模块的复用性。模…

电商网站模板_企业商城解决方案:微购物商城网站怎么做

随着互联网电商的发展&#xff0c;微购物商城也开始流行起来。这种商城网站可以避免商家被电商平台抽佣&#xff0c;商家自己也无需缴纳高额推广费&#xff0c;可以节约不少成本。如何做好一个购物商城网站&#xff1f;至少要保证这几点&#xff1a;1.用美观的建站系统千万不要…

配置侧边栏_用Python制作网站Django实操与开发环境配置

上篇文章简单介绍了Django的基础知识&#xff0c;本篇将进入实际操作部分&#xff0c;包括Django的运行环境、开发环境配置与新建项目等内容。由于篇幅原因&#xff0c;笔者不得不把Demo演示放到下一篇文章&#xff0c;望读者(如果有的话)见谅。笔者曾有过一句感叹&#xff1a;…

html怎么快速收录,5个小技巧让你的网站快速被收录

网站文章收录的越快&#xff0c;意味着网站的搜索引擎关注度越高&#xff0c;那如何快速的提高网站收录呢?今天就来讲一讲搜索引擎收录的小技巧。1、优化网站布局任何一个网站&#xff0c;不管是个人网站、企业网站还是门户网站&#xff0c;建站之时首先要确定的就是网站的整体…

Vue + Spring Boot从零开始搭建个人网站(一) 之 项目前端Vue.js环境搭建

前言&#xff1a; 最近在考虑搭建个人网站&#xff0c;想了想决定采用前后端分离模式 前端使用Vue&#xff0c;负责接收数据 后端使用Spring Boot&#xff0c;负责提供前端需要的API 就这样开启了我边学习边实践之旅 Vue环境搭建步骤&#xff1a; 1、安装node.js a)进入node.js…