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)>>>a=input('请输入:') 请输入:'string' >>>type(a) python3.x:input()
1)raw_input()被废除,统一使用input()
2)input()函数的输入内容类型为字符串
python面试题Python2.x和Python3.x的区别
1Py3默认使用utf-8编码,python2使用ascill码
2去除了<>,全部改用!=
3整型除法返回浮点数,要得到整型结果,请使用//
4去除print语句,加入print()函数实现相同的功能。同样的还有exec语句,已经改为exec()函数
5改变了顺序操作符的行为,例如x 6输入函数改变了,删除了raw_input,用input代替 7去除元组参数解包。不能def(a,(b,c)):pass这样定义函数了 8Py3.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用raiseException(args)代替raiseException,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模块 20xrange()改名为range() 总结 以上所述是小编给大家介绍的python面试题Python2.x和Python3.x的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!