说一下Python 2和Python 3的区别

本文概述了Python3与Python2在关键语法、数据类型、函数变化、异常处理、内存管理等方面的主要差异,以及Python3对安全性、性能和编码规范的提升。
  1. Python 2中的printexec都是关键字,在Python 3中变成了函数。
  2. Python 3中没有long类型,都是整数int类型。
  3. Python 2中的不等号<>在Python 3中被废弃,统一使用!=
  4. Python 2中的xrange函数在Python 3中被range函数替换。
  5. Python 3对Python 2中不安全的input函数做出了改进,破坏了raw_input函数。
  6. Python 2中的file函数被Python 3中的open函数替换。
  7. Python 2中的/攻击对于int类型来说是整除法,在Python 3中使用了简单的//整除法。
  8. Python 3中改进了Python 2捕获异常的代码,很明显Python 3的写法更稳定。
  9. Python 3 生成式中循环变量的作用范围得到了更好的控制,不会影响到生成式外部的同名变量。
  10. Python 3中的round函数可以返回int类型float,Python 2中的round函数可以返回float类型。
  11. Python 3的str类型是Unicode字符串,Python 2的str类型是字节串,Python 3中的bytes
  12. Python 3 中的比较操作必须比较同类对象。
  13. Python 3中定义的类都是新式类,Python 2中定义的类有新式类(显式继承自的object类)和旧式类(经典类)之分,新式类和旧式类在MRO问题上有非常显着性的区别,新式类可以使用__class__属性获取自身类型,新式类可以使用__slots__魔法。
  14. Python 3对代码缩进的要求更加严格,如果混用空格和制表键就会引发TabError
  15. Python 3中字典的keysvaluesitems方法都不再返回list对象,而是返回view object内置的mapfilter等函数也不再返回list对象,而是返回迭代器对象。
  16. Python 3标准库中模块的跟名字Python 2是有区别的;而在三方库方面,有些三方库只支持Python 2,有些只能支持Python 3。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值