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的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • 分享几道你可能遇到的python面试题

    本文主要给大家介绍的是关于最近在面试中遇到的几个python面试题,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 一.生成斐波那契数列并取前10项 def func(m): n,a,b = 0,1,1 while n < m: yield a a,b = b,a+b n += 1 for one in func(10): print one 这个可以说是一道常见的简单算法题了,关键点就是理解a,b=b,a+b以及yield的作用. 二.扩展一个列表,列表中的元素可能也包含列表 d

  • Python工程师面试题 与Python基础语法相关

    希望通过本文能够帮助大家顺顺利利通过Python面试,之后还有一篇关于Python Web相关的文章欢迎大家阅读. 1.Python中pass语句的作用是什么? pass语句什么也不做,一般作为占位符或者创建占位程序,pass语句不会执行任何操作. 2.Python是如何进行类型转换的? Python提供了将变量或值从一种类型转换成另一种类型的内置函数.比如int函数能够将符合数学格式数字型字符串转换成整数.否则,返回错误信息. 3.Python是如何进行内存管理的? Python引用了一个内存

  • Python程序员面试题 你必须提前准备!(答案及解析)

    在发布<Python程序员面试,这些问题你必须提前准备!>一文后,应广大程序员朋友的强烈要求,小编就Python程序员面试必备问题整理了一份参考答案,希望能对准备换工作的程序员朋友有所帮助.如对答案有疑问,欢迎留言讨论. 小编将这些面试问题大致分为四类: 什么(what)?如何做(how)?说区别/谈优势(difference)以及实践操作(practice). What? 1. 什么是Python? Python是一种编程语言,它有对象.模块.线程.异常处理和自动内存管理.可以加入与其他语言

  • Python3.x和Python2.x的区别介绍

    1.性能Py3.0运行 pystone benchmark的速度比Py2.5慢30%.Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可以取得很好的优化结果.Py3.1性能比Py2.5慢15%,还有很大的提升空间. 2.编码Py3.X源码文件默认使用utf-8编码,这就使得以下代码是合法的:    >>> 中国 = 'china'    >>>print(中国)    china 3. 语法1)去除了<>,全部改用!=2)去除``,全部改用re

  • Python工程师面试题 与Python Web相关

    本文为大家分享的Python工程师面试题主要与Python Web相关,供大家参考,具体内容如下 1.解释一下 WSGI 和 FastCGI 的关系? CGI全称是"公共网关接口"(CommonGateway Interface),HTTP服务器与你的或其它机器上的程序进行"交谈"的一种工具,其程序须运行在网络服务器上. CGI可以用任何一种语言编写,只要这种语言具有标准输入.输出和环境变量.如php,perl,tcl等. FastCGI像是一个常驻(long-li

  • 5个很好的Python面试题问题答案及分析

    本文的主要内容是向大家分享几个Python面试中的T题目,同时给出了答案并对其进行分析,具体如下. 本文的原文是5 Great Python Interview Questions,同时谢谢 @非乌龟 指出我的疏漏,没有来源标记,也赞其细心,希望看文章的同时大家都能看下原文,因为每个人的理解不一致,原汁原味的最有帮助,我翻译很多文章的目的一是为了自己以后找资料方便:二是作为一个索引,以后再看原文的时候,能更加快捷.其目的还是希望大家能看原文的. 问题一:以下的代码的输出将是什么? 说出你的答案并

  • 编写同时兼容Python2.x与Python3.x版本的代码的几个示例

    编写兼容Python2.x与3.x代码 当我们正处于Python 2.x到Python 3.x的过渡期时,你可能想过是否可以在不修改任何代码的前提下能同时运行在Python 2和3中.这看起来还真是一个合理的诉求,但如何开始呢?哪些Python 2 代码在 3.x 解释器执行时容易出状况呢? print vs print() 如果你想的和我一样,你或许会说print语句,这是个很好的着手点,先简单展示一下,print在2.x中是一条语句,而在3.x中它是一个关键字或者是保留字.换句话说,因为这个

  • 深入解答关于Python的11道基本面试题

    前言 本文给大家深入的解答了关于Python的11道基本面试题,通过这些面试题大家能对python进一步的了解和学习,下面话不多说,来看看详细的介绍吧. 一.单引号,双引号,三引号的区别 分别阐述3种引号用的场景和区别 1),单引号和双引号主要用来表示字符串 比如: 单引号:'python' 双引号:"python" 2).三引号 三单引号:'''python ''',也可以表示字符串一般用来输入多行文本,或者用于大段的注释 三双引号:"""python&

  • python正则表达式面试题解答

    三道python正则表达式面试题,具体如下 1.去除以下html文件中的标签,只显示文本信息. <div> <p>岗位职责:</p> <p>完成推荐算法.数据统计.接口.后台等服务器端相关工作</p> <p><br></p> <p>必备要求:</p> <p>良好的自我驱动力和职业素养,工作积极主动.结果导向</p> <p> <br><

  • 把项目从Python2.x移植到Python3.x的经验总结

    经历移植jinja2到python3的痛苦之后,我把项目暂时放一放,因为我怕打破python3的兼容.我的做法是只用一个python2的代码库,然后在安装的时候用2to3工具翻译成python3.不幸的是哪怕一点点的改动都会打破迭代开发.如果你选对了python的版本,你可以专心做事,幸运的避免了这个问题. 来自MoinMoin项目的Thomas Waldmann通过我的python-modernize跑jinja2,并且统一了代码库,能同时跑python2,6,2,7和3.3.只需小小清理,我

随机推荐