您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页经典7大Python面试题!希望帮助到想找工作的你!

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

来源:二三娱乐

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,我们可能要用下面的代码实现类似的功能

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务