欢迎访问
这是个实用的Python网站

「每日面试题」开发篇-Python3和Python2的区别?

小王又开启了新的一天的面试。

面试官冷冷地说,你好,请坐。

面试官:今天主要想问问你 Python3 和 Python2 的区别的问题。你先说说你知道的Python3 和 Python2 之间的区别吧。

小王喝了面前的一口水,脑子飞快的思考着。

第一个,print 在 Python3 中是函数必须加括号,Python2 中 print 为 class。

面试官:嗯,是的。

小王继续说:Python2 中使用 xrange,Python3 使用 range。

还有,Python2 中默认的字符串类型默认是 ASCII,Python3 中默认的字符串类型是 Unicode。

面试官:还有吗?

小王:额。。嗯。。我。。我能想到的就这么多。。

面试官无奈的说,我再补充几条。

还有,就是 Python2 中/的结果是整型,Python3 中是浮点类型。

小王赶紧点点头,表示认可。

还有就是,Python2 中声明元类:_metaclass_ = MetaClass,Python3 中声明元类:class newclass(metaclass=MetaClass):pass。

面试官:我就补充这两点吧。

小王表示认可。

面试官继续问,你知道 Python3 和 Python2 中 int 和 long 的区别吗?

小王:Python2 有 int 和 long 类型。int 类型最大值不能超过 sys.maxint,而且这个最大值是平台相关的。可以通过在数字的末尾附上一个L来定义长整型,显然,它比 int 类型表示的数字范围更大。在 Python3 里,只有一种整数类型 int,大多数情况下,和 Python2中的长整型类似。

面试官继续问:xrange 和 range 的区别你知道吗?答:xrange 是在 Python2 中的用法,Python3 中只有 range,xrange 用法与 range 完全相同,所不同的是生成的不是一个 list 对象,而是一个生成器。

面试官,好的,还不错,下次再见。

​每日总结

今天主要讲了 Python3 和 Python2 主要有 5 点区别:print、range、编码、除法结果、申明元类,Python3 和 Python2 中 int 和 long 的区别,xrange 和 range 的区别。

每日面试题就到这,明天见。

本文首发于公众号「Python测试开发」,欢迎关注。

赞(1) 打赏
未经允许不得转载:Python知识圈 » 「每日面试题」开发篇-Python3和Python2的区别?

评论 抢沙发