我了解到Python 3不向后兼容。
使用旧版本的Python会不会影响很多应用程序?
Python 3的开发人员怎么不认为使其向后兼容绝对必要?
我了解到Python 3不向后兼容。
使用旧版本的Python会不会影响很多应用程序?
Python 3的开发人员怎么不认为使其向后兼容绝对必要?
Answers:
Python 3.0实现了许多非常有用的功能并打破了向后兼容性。它是故意这样做的,因此即使Python 2.x代码在Python 3.x下可能无法正常工作,也可以实现出色的功能。
因此,基本上,Python 3.0并非有意向后兼容。因此,您可以从全新功能中受益。它甚至被称为“ Python 3000 ”或“ Python 3K ”。
从“ Python 3.0的新增功能”(在此处可用)中:
Python 3.0,而2.6。Python 3.0,也称为“ Python 3000”或“ Py3K”,是第一个有意向后不兼容的Python版本。与典型发行版相比,存在更多的更改,而这些更改对于所有Python用户而言都是重要的。不过,在消化了这些变化之后,您会发现Python并没有真正改变太多-总的来说,我们主要是在修复众所周知的烦恼和弊端,并删除了许多旧的东西。
可以认为是打破向后兼容性,但同时又改进了语言的一些最显着的功能是:
print
现在是一个函数,而不是一个语句,将其用作语句将导致错误,cmp
用于对函数排序的参数,例如sorted()
和list.sort()
不再受支持,应将其替换为key
参数,int
现在与Python 2.x相同long
,这使得数字处理变得不那么复杂,/
运算符现在默认为真正除法的运算符(您仍然可以//
用于楼层除法),True
,False
而None
现在保留字(所以你不能做True, False = False, True
,BaseException
与Python 2.x不同的方式引发和捕获异常,