生成斐波那契数列并取前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开发工程师常见的面试题及答案分享,记得收藏哈!相关推荐

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

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

  2. python开发工程师面试题-2019超实用Python开发工程师面试题分享

    原标题:2019超实用Python开发工程师面试题分享 Python诞生很早,但真正火爆时间并不长.目前Python语言的应用领域非常广泛,主要有系统编程.图形处理.数学处理.文本处理.数据库编程.网 ...

  3. python开发工程师必刷题型(长期更新)

    首先来看python开发工程师的招聘要求: Python 开发工程师(来自拉勾) 岗位要求: 1.本科学历,2年Python相关工作经验,熟练使用Python语言; 2.熟悉Linux常用命令或有Ma ...

  4. 年薪30w+,成功转行python开发工程师,关于我的摸爬滚打之路

    我其实是一个不爱在平台上讲自己故事的人,但是随着互联网越来越火,python越来越流行,与此同时,出现了太多像我曾经一样面对社会的发展而不知所措的朋友,至此,希望能够以我的经历给大家一些帮助和借鉴. ...

  5. 人工智能Python开发工程师课程体系

    人工智能Python开发工程师课程体系 课程名称 课程内容 项目实战 第一阶段:Python基础编程 开启编程之路 Scratch入门体验.运算符.动作和绘图.过程.变量.逻辑做决定.调用自身过程.链 ...

  6. Python开发工程师必知十大机器学习库

    Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,再加上其简单.易学.速度快.开源免费.可移植性.可扩展性以及面向对象的特点,Python成为2017年最受欢迎的最受欢迎的编程 ...

  7. python开发是做什么的-python开发工程师是做什么的

    python开发工程师是指运用Python进行软件开发的工程师岗位. Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python 的设计具有很强的可读性,相比其他语言经常 ...

  8. 大数据技术和python开发工程师

    一:大数据技术 简单来说,从大数据的生命周期来看,无外乎四个方面:大数据采集.大数据预处理.大数据存储.大数据分析,共同组成了大数据生命周期里最核心的技术,下面分开来说: 一.大数据采集 大数据采集, ...

  9. python开发工程师是干嘛的-python开发工程师是做什么的

    python开发工程师是指运用Python进行软件开发的工程师岗位. Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python 的设计具有很强的可读性,相比其他语言经常 ...

最新文章

  1. python3 +改进HTMLTestRunner.py 测试报告显示
  2. 修改数据库中group_concat的返回结果的长度限制
  3. 常用插值算法介绍(二)
  4. Length High
  5. PowerDesigner使用教程 —— 概念数据模型详解
  6. SAP Spartacus activeBaseSite的设置逻辑
  7. mp3 pcm java_Java mp3文件转pcm文件
  8. [GO]冒泡排序的原理和代码实现
  9. PostgreSQL 的 target_list分析(三)
  10. 北大飞跃手册_飞跃手册 | 保研篇——北京大学
  11. BIOS int 10H中断介绍
  12. 音视频传输流程和编解码基本概念
  13. 手把手教你通过Google Adsense“PIN码验证”
  14. 苹果手机解绑微信支付教程
  15. 病毒RNA提取:EpiQuik 病毒RNA提取纯化试剂盒方案
  16. android控件显示在最上层,「总是可见的时钟和备忘录」永远显示在屏幕最上层的贴心助手(Android)...
  17. 2020个人成长计划
  18. vue-js实现日期加减,年月日,及单位换算。
  19. additional-methods.js 用法
  20. Sqli-labs——lesson25(联合查询和报错注入,附各种sql万能密码)

热门文章

  1. 2021年微信视频号生态趋势调查报告
  2. 数据表格应该这样设计
  3. 作者:鲁鸣鸣(1978-),男,博士,中南大学信息科学与工程学院副教授,中国计算机学会会员。...
  4. 作者:黄宜华,南京大学计算机系教授、博士生导师,中国计算机学会大数据专家委员会委员、副秘书长。...
  5. 【计算机组成原理】微处理器、微型计算机、微型计算机系统
  6. 又是毕业季I 【O(1)数论】(洛谷P1372题题解,Java语言描述)
  7. 解析Pascal赋值语句(洛谷P1597题题解,Java语言描述)
  8. eos 源代码学习笔记一
  9. 面试算法基础及编程 第四弹 (字符串、数值类、或其他常见相关)
  10. Windows守护进程简单示例