Python2与Python3核心区别总结(面试标准答案)
一、博客导语
虽然Python2早已停止维护,但新旧项目迁移、老代码维护面试中,Python2与Python3区别仍是高频提问。本文汇总面试最核心、最高频的区别点,整理标准化答题话术,简洁好记、适配面试答题。
二、核心语法区别(面试重点)
1、输出语句差异
Python2:print 是语句 print "hello"
Python3:print 是内置函数 print("hello")(必须加括号)
2、编码机制差异(最大底层区别)
Python2:默认编码ASCII,字符串分str(字节)、unicode,中文极易乱码
Python3:默认编码UTF-8,字符串统一为unicode,彻底解决中文乱码问题
3、整除运算差异
Python2:3/2=1 向下取整整除
Python3:3/2=1.5 浮点除法,整除使用 //
4、输入函数差异
Python2:input()、raw_input()
Python3:统一为input(),废弃raw_input()
5、xrange与range
Python2:range返回列表,xrange返回生成器(省内存)
Python3:统一range,原生为生成器特性,废弃xrange
三、数据与功能差异
1、迭代器特性
Python2:字典keys/values/items返回列表,占用内存
Python3:全部返回迭代器,惰性取值,节省内存
2、异常捕获语法
Python2:except Exception, e:
Python3:except Exception as e:(唯一规范写法)
3、类的继承
Python2:默认经典类,无继承object;需手动继承object新式类
Python3:所有类默认继承object,统一新式类
四、面试总结(万能答题模板)
Python3是Python2的优化升级版,核心改进:统一UTF-8编码解决乱码、规范语法格式、优化内存机制、统一内置函数、废弃冗余语法,兼容性不互通,Python2已停止维护,企业开发全面使用Python3。
更多推荐
所有评论(0)