Python开发工程师常见的面试题及答案分享,记得收藏哈!
生成斐波那契数列并取前10项
deffunc(m):
n,a,b=0,1,1
whilen
yielda
a,b=b,a+b
n+=1
foroneinfunc(10):
printone
这个可以说是一道常见的简单算法题了,关键点就是理解a,b=b,a+b以及yield的作用。
扩展一个列表,列表中的元素可能也包含列表
defmyextend(alist):
tmp=[]
foroneinalist:
ifisinstance(one,list):
tmp.extend(myextend(one))
else:
tmp.append(one)
returntmp
t=[1,2,5,[3,[],5,2,[57]],90]
printt
printmyextend(t)
考察递归调用的思想。
有如下代码,请写出输出
deftest(x,l=[]):
foroinrange(x):
l.append(o)
printl
test(3)
test(1,[3,2,1])
输出如下:
[0,1,2]
[3,2,1,0]
[0,1,2,0,1,2]
可变类型作为参数在不显示传递参数时,每次函数调用时候都是共用的;如果传递了参数(比如第二种)则不会互相影响。
已知某列表中包含重复数据,保持列表中元素第一次出现的顺序并去重,要求复杂度为O(n)。
deffun(alist):
result=[]
temp=set()
foroinalist:
ifonotintemp:
result.append(o)
temp.add(o)
returnresult
考察列表、集合等常见操作的复杂度。
已知如下函数,请写出输出,并写出正确写法:
z=[lambdax:x*iforiinrange(3)]
x=[o(2)foroinz]
printx
输出为
[4,4,4]
这里主要考察python中闭包、返回值为函数时候的知识点。由于lambda函数共用了i变量,当调用时候i已经变成了2,所以输出都是4。
改正:
deffunc():
defm(x):
defn(y):
returnx*y
returnn
return[f(one)foroneinrange(3)]
z=func()
输出
[0,2,4]
创建一个类,并输出某个属性。如果这个属性存在则输出值,否则输出这个属性名的字符串
classMycls(object):
a=0
def__getattr__(self,name):
printname
z=Mycls()
printz.a,z.b
0,b
主要考察python的反射机制,以及类相关的__getattr__方法。如果大家对Python感兴趣的话,可以加一下我的微信哦:abb436574,免费领取一套学习资料和视频课程哟~
注意:__getattr__方法和__getattribute__方法的区别,前者只有在属性不存在时候调用,返回一个值或者引发异常。而后者是每次都会被调用的。另外可以看看getattr(),hasattr()这种内置函数。
Python开发工程师常见的面试题及答案分享,记得收藏哈!相关推荐
- python开发工程师面试题-超实用面试必看,Python工程师面试题
原标题:超实用面试必看,Python工程师面试题 面试是公司挑选职工的一种重要方法.它给公司和应招者提供了进行双向交流的机会,能使公司和应招者之间相互了解,从而双方都可更准确做出聘用与否.受聘与否的决 ...
- python开发工程师面试题-2019超实用Python开发工程师面试题分享
原标题:2019超实用Python开发工程师面试题分享 Python诞生很早,但真正火爆时间并不长.目前Python语言的应用领域非常广泛,主要有系统编程.图形处理.数学处理.文本处理.数据库编程.网 ...
- python开发工程师必刷题型(长期更新)
首先来看python开发工程师的招聘要求: Python 开发工程师(来自拉勾) 岗位要求: 1.本科学历,2年Python相关工作经验,熟练使用Python语言; 2.熟悉Linux常用命令或有Ma ...
- 年薪30w+,成功转行python开发工程师,关于我的摸爬滚打之路
我其实是一个不爱在平台上讲自己故事的人,但是随着互联网越来越火,python越来越流行,与此同时,出现了太多像我曾经一样面对社会的发展而不知所措的朋友,至此,希望能够以我的经历给大家一些帮助和借鉴. ...
- 人工智能Python开发工程师课程体系
人工智能Python开发工程师课程体系 课程名称 课程内容 项目实战 第一阶段:Python基础编程 开启编程之路 Scratch入门体验.运算符.动作和绘图.过程.变量.逻辑做决定.调用自身过程.链 ...
- Python开发工程师必知十大机器学习库
Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,再加上其简单.易学.速度快.开源免费.可移植性.可扩展性以及面向对象的特点,Python成为2017年最受欢迎的最受欢迎的编程 ...
- python开发是做什么的-python开发工程师是做什么的
python开发工程师是指运用Python进行软件开发的工程师岗位. Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python 的设计具有很强的可读性,相比其他语言经常 ...
- 大数据技术和python开发工程师
一:大数据技术 简单来说,从大数据的生命周期来看,无外乎四个方面:大数据采集.大数据预处理.大数据存储.大数据分析,共同组成了大数据生命周期里最核心的技术,下面分开来说: 一.大数据采集 大数据采集, ...
- python开发工程师是干嘛的-python开发工程师是做什么的
python开发工程师是指运用Python进行软件开发的工程师岗位. Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python 的设计具有很强的可读性,相比其他语言经常 ...
最新文章
- python3 +改进HTMLTestRunner.py 测试报告显示
- 修改数据库中group_concat的返回结果的长度限制
- 常用插值算法介绍(二)
- Length High
- PowerDesigner使用教程 —— 概念数据模型详解
- SAP Spartacus activeBaseSite的设置逻辑
- mp3 pcm java_Java mp3文件转pcm文件
- [GO]冒泡排序的原理和代码实现
- PostgreSQL 的 target_list分析(三)
- 北大飞跃手册_飞跃手册 | 保研篇——北京大学
- BIOS int 10H中断介绍
- 音视频传输流程和编解码基本概念
- 手把手教你通过Google Adsense“PIN码验证”
- 苹果手机解绑微信支付教程
- 病毒RNA提取:EpiQuik 病毒RNA提取纯化试剂盒方案
- android控件显示在最上层,「总是可见的时钟和备忘录」永远显示在屏幕最上层的贴心助手(Android)...
- 2020个人成长计划
- vue-js实现日期加减,年月日,及单位换算。
- additional-methods.js 用法
- Sqli-labs——lesson25(联合查询和报错注入,附各种sql万能密码)
热门文章
- 2021年微信视频号生态趋势调查报告
- 数据表格应该这样设计
- 作者:鲁鸣鸣(1978-),男,博士,中南大学信息科学与工程学院副教授,中国计算机学会会员。...
- 作者:黄宜华,南京大学计算机系教授、博士生导师,中国计算机学会大数据专家委员会委员、副秘书长。...
- 【计算机组成原理】微处理器、微型计算机、微型计算机系统
- 又是毕业季I 【O(1)数论】(洛谷P1372题题解,Java语言描述)
- 解析Pascal赋值语句(洛谷P1597题题解,Java语言描述)
- eos 源代码学习笔记一
- 面试算法基础及编程 第四弹 (字符串、数值类、或其他常见相关)
- Windows守护进程简单示例