当前位置: 首页 > 编程笔记 >

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

郭彬郁
2023-03-14
本文向大家介绍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模块(单独发布,可以从http://www.jcea.es/programacion/pybsddb.htm获取)

19 移除了new模块

20 xrange() 改名为range()

总结

以上所述是小编给大家介绍的python面试题Python2.x和Python3.x的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

 类似资料:
  • Python的3​​.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。 为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容。 许多针对早期Python版本设计的程式都无法在Python 3.0上正常执行。 为了照顾现有程式,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Pyt

  • Python的3​​.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。 为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容。 许多针对早期Python版本设计的程式都无法在Python 3.0上正常执行。 为了照顾现有程式,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Pyt

  • 本文向大家介绍Python3和Python2的区别?相关面试题,主要包含被问及Python3和Python2的区别?时的应答技巧和注意事项,需要的朋友参考一下  

  • 本文向大家介绍深入浅析Python2.x和3.x版本的主要区别,包括了深入浅析Python2.x和3.x版本的主要区别的使用技巧和注意事项,需要的朋友参考一下 版本说明 Python 3.0在设计的时候没有考虑向较早版本相容 Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数。   除

  • 本文向大家介绍Python2.x与3​​.x版本有哪些区别,包括了Python2.x与3​​.x版本有哪些区别的使用技巧和注意事项,需要的朋友参考一下 Python的3​​.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。 为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容。 许多针对早期Python版本设计的程式都无法

  • 本文向大家介绍Python3和Python2中int和long区别相关面试题,主要包含被问及Python3和Python2中int和long区别时的应答技巧和注意事项,需要的朋友参考一下 在python3里,只有一种整数类型int,大多数情况下,和python2中的长整型类似。