本文主要给大家介绍的是关于最近在面试中遇到的几个python面试题,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍:
一、生成斐波那契数列并取前10项
def func(m): n,a,b = 0,1,1 while n < m: yield a a,b = b,a+b n += 1 for one in func(10): print one
这个可以说是一道常见的简单算法题了,关键点就是理解a,b=b,a+b以及yield的作用。
二、扩展一个列表,列表中的元素可能也包含列表
def myextend(alist): tmp = [] for one in alist: if isinstance(one,list): tmp.extend(myextend(one)) else: tmp.append(one) return tmp t = [1,2,5,[3,[],5,2,[57]],90] print t print myextend(t)
考察递归调用的思想。
三、有如下代码,请写出输出
def test(x,l=[]): for o in range(x): l.append(o) print l test(3) test(1,[3,2,1]) test(3)
输入如下:
[0,1,2] [3,2,1,0] [0,1,2,0,1,2]
可变类型作为参数在不显示传递参数时,每次函数调用时候都是共用的;如果传递了参数(比如第二种)则不会互相影响。
四、已知某列表中包含重复数据,保持列表中元素第一次出现的顺序并去重,要求复杂度为O(n)。
def fun(alist): result = [] temp = set() for o in alist: if o not in temp: result.append(o) temp.add(o) return result
考察列表、集合等常见操作的复杂度。
五、已知如下函数,请写出输出,并写出正确写法:
z = [lambda x:x*i for i in range(3)] x = [o(2) for o in z] print x
输出为[4,4,4]
这里主要考察python中闭包、返回值为函数时候的知识点。由于lambda函数共用了i变量,当调用时候i已经变成了2,所以输出都是4。
改正:
def func(): def m(x): def n(y): return x * y return n return [f(one) for one in range(3)] z = func() x = [o(2) for o in z] print x
输出[0,2,4]
六、创建一个类,并输出某个属性。如果这个属性存在则输出值,否则输出这个属性名的字符串
class Mycls(object): a = 0 def __getattr__(self,name): print name z = Mycls() print z.a,z.b
输出为0,b。
主要考察python的反射机制,以及类相关的__getattr__方法。
注意: __getattr__方法和__getattribute__方法的区别,前者只有在属性不存在时候调用,返回一个值或者引发异常。而后者是每次都会被调用的。
另外可以看看getattr()
,hasattr()
这种内置函数。
简答题
- 简述py2和py3的区别
- python的垃圾回收机制
- python中多线程的方法,局限,以及有什么其他方式进行并发处理
- 简述epoll、select、poll三种模型
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]