美文网首页Python学习资料
经典7大Python面试题!希望帮助到想找工作的你!

经典7大Python面试题!希望帮助到想找工作的你!

作者: Python末末 | 来源:发表于2018-08-08 19:16 被阅读75次

Python面试(一)之交换变量值

Python中还有更简洁的更具Python风格的实现,如下

Python的字节码

dis是个反汇编工具,将Python代码翻译成字节码指令。这里的输出如下

Python面试(二) is 和 == 的区别

例子:

is 和 == 的解释

好了,看明白上面的解释后,我们来看下前面的几个例子

打印出 id(a) 和 id(b) 后就很清楚了

总结一下

Python面试(三)可变对象和不可变对象

而 == None背后调用的是__eq__,而__eq__可以被重载

is not None但 == None的例子

开始本篇的正题

例子

再来看一个列表的例子

上面对a修改元素、添加元素,变量a还是指向原来的对象

理解了上面不可变对象和可变对象的区别后,我们再来看一个有趣的问题

明明group1和group2是不同的对象(id值不同),为什么调用group2的add_member方法会影响group1的members

Python面试(四)连接字符串用join还是+

其实很简单

这样对于不同的group对象,它们的members也是不同的对象

所以不会再出现更新一个group对象的members也会更新另外一个group对象的members了。

两者的结果是一样,那么考虑这样一个问题,这两者在性能上有区别吗?

上面的程序有如下的输出

Python面试(五)理解__new__和__init__的区别

上面的代码会输出如下的结果

例子:

上面的代码输出如下的结果

先来看Singleton

再来看下工厂模式的实现

上面的代码输出

如果不用with,我们可能要用下面的代码实现类似的功能

相关文章

网友评论

    本文标题:经典7大Python面试题!希望帮助到想找工作的你!

    本文链接:https://www.haomeiwen.com/subject/zznxbftx.html