python面试题Python2.x和Python3.x的区别

这篇文章主要介绍了python面试题Python2.x和Python3.x的区别 ,在面试中也经常会问到,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
下面看下python2.x和python3.x的区别

1.大环境不同

python2.x:源码重复,不规范

python3.x:整合源码,更清晰优美简单

2.默认编码不同

python2.x:默认编码ASCII编码

python3.x:默认编码UTF-8

3.python3.x没有长整型

python2.x:有长整型long

python3.x:long整数类型被废弃,统一为int

4.打印方式不同

python2.x:print语句,print空格+打印内容

python3.x:print()函数,print(打印内容)

5.交互函数不同

python2.x:raw_input() input()

1) raw_input()函数的输入内容类型为字符串

2) input()函数的输入内容类型为输入字符的类型

例:

>>> a = input(‘请输入:’)
    请输入:1
    >>> type(a)
    <type ‘int’>
    >>> a = input(‘请输入:’)
    请输入:‘string’
    >>> type(a)
    <type ‘str’>
  python3.x:input()

  1. raw_input()被废除,统一使用input()

2) input()函数的输入内容类型为字符串

python面试题Python2.x和Python3.x的区别

1 Py3默认使用utf-8编码,python2使用ascill码

2 去除了<>,全部改用!=

3 整型除法返回浮点数,要得到整型结果,请使用//

4 去除print语句,加入print()函数实现相同的功能。同样的还有 exec语句,已经改为exec()函数

5 改变了顺序操作符的行为,例如x<y,当x和y类型不匹配时抛出TypeError而不是返回随即的 bool值

6 输入函数改变了,删除了raw_input,用input代替

7 去除元组参数解包。不能def(a, (b, c)):pass这样定义函数了

8 Py3.X去除了long类型,现在只有一种整型——int,但它的行为就像2.X版本的long

9 新增了bytes类型,对应于2.X版本的八位串

10 迭代器的next()方法改名为__next__(),并增加内置函数next(),用以调用迭代器的__next__()方法

11 增加了@abstractmethod和 @abstractproperty两个 decorator,编写抽象方法(属性)更加方便。

12 所以异常都从 BaseException继承,并删除了StardardError

13 去除了异常类的序列行为和.message属性

14 用 raise Exception(args)代替 raise Exception, args语法

15 移除了cPickle模块,可以使用pickle模块代替。最终我们将会有一个透明高效的模块。

16 移除了imageop模块

17 移除了 audiodev, Bastion, bsddb185, exceptions, linuxaudiodev, md5, MimeWriter, mimify, popen2,

rexec, sets, sha, stringold, strop, sunaudiodev, timing和xmllib模块

18 移除了bsddb模块

19 移除了new模块

20 xrange() 改名为range()
总结

以上所述是小编给大家介绍的python面试题Python2.x和Python3.x的区别,希望对大家有所帮助,

推荐我们的python学习基地,点击进入,看老程序是如何学习的!从基础的python脚本、爬虫、django、数据挖掘等编程技术,工作经验,还有前辈精心为学习python的小伙伴整理零基础到项目实战的资料,!每天都有程序员定时讲解Python技术,分享一些学习的方法和需要留意的小细节

发布了34 篇原创文章 · 获赞 13 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/haoxun06/article/details/104504597