在就业的时候,我们往往要经历面试这一环节。而对于Python工程师来说,面试最主要的还是项目经验以及专业技能的掌握,其他的都是锦上添花。在面试前做好相关的准备不仅可以让自己有个很好的状态,而且在交流的时候也不会手忙脚乱,在自己会的领域上失分。下面粤嵌Python培训分享面试中的一些技术性问题,希望对大家有所助益:
1、简述函数式编程。
在函数式编程中,函数是基本单位,变量只是一个名称,而不是一个存储单元。除了匿名函数外,Python还使用fliter(),map(),reduce(),apply()函数来支持函数式编程。
2、什么是匿名函数,匿名函数有什么局限性?
匿名函数,也就是lambda函数,通常用在函数体比较简单的函数上。匿名函数顾名思义就是函数没有名字,因此不用担心函数名冲突。不过Python对匿名函数的支持有限,只有一些简单的情况下可以使用匿名函数。
3、函数装饰器有什么作用?
装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。有了装饰器,就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。
4、copy()与deepcopy()的区别是什么?
copy是浅拷贝,只拷贝可变对象的父级元素。 deepcopy是深拷贝,递归拷贝可变对象的所有元素。