首页 > > > 常见面试题整理--Python代码篇
希望此文可以长期更新并作为一篇Python的面试宝典。每一道题目都附有详细解答,以及更加详细的回答链接。此篇是代码篇,上一篇是:Python概念篇 两者结合效果更佳。
喜欢听音乐的猿们,欢迎关注我最近新开的专栏:音乐推荐-知乎专栏



所谓单例就是一个类从始至终只能产生一个实例。
方法一:使用__new__方法
在__new__方法中把类实例绑定到类变量_instance上,如果cls._instance为None表示该类还没有实例化过,实例化该类并返回。如果cls_instance不为None表示该类已实例化,直接返回cls_instance

方法二:使用装饰器(decorator)


方法四:共享属性
所谓单例就是所有的引用(实例,对象)拥有相同的属性和方法,同一个类的实例天生都会有相同的方法,那我们只需要保证同一个类所产生的实例都具有相同的属性。所有实例共享属性最简单直接的方法就是共享__dict__属性指向。

方法五:Python模板



(六)、Python的函数参数传递

(七)、类变量和实例变量
类变量就是供给类使用的变量,实例变量就是供给实例使用的变量。看以下代码

方面一:lambda表达式:体现原理就是python允许lambda关键字创建匿名函数,所谓匿名就是python不会创建名称空间,lambda表达式返回可调用的函数对象,这些都符合函数式编程的思想。
方面二:内建函数:filter()、reduce()、map()

(九)、 以下代码将输出什么?(考察list)

(十)、 以下代码将输出什么?(考察)

更详细的解答可以看这里:Python中后期绑定(late binding)是什么意思?
本文参考文献资料:
「4」很全的 Python 面试题 - Python - 伯乐在线
「5」Python 函数式编程 - BeginMan - 博客园
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/756/viewspace-3167278/ ,如需转载,请注明出处,否则将追究法律责任。