欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-08-11 23:48:11
下面看下python2.x和python3.x的区别 1.大环境不同   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的区别,希望对大家有所帮助