找工作是每个学习Python人员的目标,为了更好的找到工作,刷面试题是必不可少的,了解最新企业招聘试题,可以让你面试更加的顺利。小编整理了一些2017年最新的Python面试题,来测测你技术的掌握度吧。

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

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

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

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

2、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)

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

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

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

4、简要描述Python的垃圾回收机制(garbage collection)。

答案

这里能说的很多。你应该提到下面几个主要的点:

Python在内存中存储了每个对象的引用计数(reference count)。如果计数值变成0,那么相应的对象就会小时,分配给该对象的内存就会释放出来用作他用。

偶尔也会出现引用循环(reference cycle)。垃圾回收器会定时寻找这个循环,并将其回收。举个例子,假设有两个对象o1和o2,而且符合o1.x == o2和o2.x == o1这两个条件。如果o1和o2没有其他代码引用,那么它们就不应该继续存在。但它们的引用计数都是1。

Python中使用了某些启发式算法(heuristics)来加速垃圾回收。例如,越晚创建的对象更有可能被回收。对象被创建之后,垃圾回收器会分配它们所属的代(generation)。每个对象都会被分配一个代,而被分配更年轻代的对象是优先被处理的。

5、什么是lambda函数?它有什么好处?

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

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

lambda [arguments]:expression

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

>>> a(3,11)

6、请写出一段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

7、用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别?

答:术语叫贪婪匹配( <.*> )和非贪婪匹配(<.*?> )

例如:

test

<.*> :

test

<.*?> :

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

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

def f()

global x

9、编程用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)

10、下面的代码在Python2中的输出是什么?解释你的答案

def div1(x,y):

print "%s/%s = %s" % (x, y, x/y)

def div2(x,y):

print "%s//%s = %s" % (x, y, x//y)

div1(5,2)

div1(5.,2)

div2(5,2)

div2(5.,2.)

另外,在Python3中上面的代码的输出有何不同(假设代码中的print语句都转化成了Python3中的语法结构)?

在Python2中,代码的输出是:

5/2 = 2

5.0/2 = 2.5

5//2 = 2

5.0//2.0 = 2.0

默认情况下,如果两个操作数都是整数,Python2默认执行整数运算。所以,5/2 结果是2,而5./2结果是2.5

注意你可以通过下面的import语句来覆盖Python2中的这一行为

from __future__ import division

还要注意“双斜杠”(//)操作符将会一直执行整除,忽略操作数的类型。这就是为什么5.0//2.0即使在Python2中结果也是2.0

但是在Python3并没有这一行为。两个操作数都是整数时,也不执行整数运算。在Python3中,输出如下:

5/2 = 2.5

5.0/2 = 2.5

5//2 = 2

5.0//2.0 = 2.0

2018python好找工作吗-2018年 Python面试必看的10个问题及答案相关推荐

  1. 2018年python工作好找吗-2018年 Python面试必看的10个问题及答案

    找工作是每个学习Python人员的目标,为了更好的找到工作,刷面试题是必不可少的,了解最新企业招聘试题,可以让你面试更加的顺利.小编整理了一些2017年最新的Python面试题,来测测你技术的掌握度吧 ...

  2. python os 检查同名_2020Python 爬虫面试题,高薪就业Python面试必看

    先来一份完整的Python爬虫工程师关于Python面试的考点: 搞定这套 Python 爬虫面试题,Python面试 so easy 一. Python 基本功 1.简述Python 的特点和优点 ...

  3. Python面试必看!53个经典面试题详解

    本文列出53个Python面试问题,并且提供了答案,供数科学家和软件工程师们参考. 不久前,我作为"数据科学家"开始担任一个新的角色,实际上就是一位"Python工程师& ...

  4. 2018python好找工作吗-2018年为什么要学习Python?Python还有前景吗?

    近年来,Python一直是当仁不让的开发入行首选,无论是职位数量.就业广度还是使用排行都远超其他语言,而且Python语言接近自然语言,学习起来非常的轻松简便,因此也越来越受到人们的欢迎.进入到201 ...

  5. 2018python好找工作吗-2018年IT行业薪资大揭秘:你拖后腿了吗?

    原标题:2018年IT行业薪资大揭秘:你拖后腿了吗? 现在就业形势较好和较差的行业分别是哪些?哪些地区用人需求大?又有哪些地方就业竞争激烈?这份报告快来了解一下! 从报告可以看出,分行业来看,就业景气 ...

  6. 【Python面试必看系列】之Python 中的三元运算子

    Q 4. 解释一下 Python 中的三元运算子 python中并没有c++中的三元算子 : c=a>b?a:b //意思是如果a>b就将a赋值给c,否则将b赋值给c. 但是python中 ...

  7. python开发工程师面试题-超实用面试必看,Python工程师面试题

    原标题:超实用面试必看,Python工程师面试题 面试是公司挑选职工的一种重要方法.它给公司和应招者提供了进行双向交流的机会,能使公司和应招者之间相互了解,从而双方都可更准确做出聘用与否.受聘与否的决 ...

  8. 新手如何快速入门Python(菜鸟必看篇)

    学习任何一门语言都是从入门(1年左右),通过不间断练习达到熟练水准(3到5年),少数人最终能精通语言,成为执牛耳者,他们是金字塔的最顶层.虽然万事开头难,但好的开始是成功的一半,今天这篇文章就来谈谈如 ...

  9. 最新iOS面试必看题视频教程(附大神简历要素)

    2019独角兽企业重金招聘Python工程师标准>>> 本文是由尚学堂iOS学院总结的ios开发者在求职时会遇到的一些面试题 ,并通过实际代码演练将课程详尽的讲解出来,希望对学习io ...

最新文章

  1. 【数字信号处理】傅里叶变换性质 ( 傅里叶变换频移性质示例 | PCM 音频信号处理 | 使用 matlab 进行频移操作 )
  2. 分享一套开源微信后台开发源码,简单配置就能使用(附源码)!
  3. hibernate添加spring 事务管理注意问题记录
  4. iOS获取自1970年毫秒数使用OC和swift两种语法,返回字符串
  5. 初探Java设计模式1:创建型模式(工厂,单例等)
  6. ifconfig相关
  7. 【SpringCloud】Spring Cloud Config 配置中心
  8. 使用读写锁实现同步数据访问
  9. 在Ubuntu下安装ros
  10. 【C语言数据结构7】--串的实现
  11. vue设置proxy代理,如何去查看代理地址
  12. Java后台调用高德地图api返回{status:0,info:UNKNOWN_ERROR,infocode:20003}
  13. 计算机mc代表什么意思6,我的世界:萌新无法理解的6个老梗,唯老MC才懂!你能看懂几个?...
  14. 峰会•沙龙•招聘 | 记零数科技多线并进的一天
  15. 天数换算月份_EXCEL如何算出指定的月份有多少天计算方法
  16. 联想小新pro13关闭自动调节亮度
  17. 探索性数据分析EDA(二)—— 缺失值处理
  18. android 自适应图片轮播,Android使用Recyclerview实现图片轮播效果的方法
  19. web性能测试基础(一)
  20. OMNET随笔(初学感悟)

热门文章

  1. SQL语句对于NUll的筛选
  2. java jprofile安装与使用
  3. 定时任务卡死问题排查
  4. 43 | 发挥人的潜能:探索式测试
  5. 第二阶段个人冲刺第一天总结
  6. [ActionScript 3.0] AS3.0 简单封装Socket的通信
  7. 查看iis对应w3wp.exe显示的进程ID号(转载)
  8. shell的一些常识
  9. oracle设置超时时间
  10. HDU-3177 Crixalis's Equipment 贪心