栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么Python 3不向后兼容?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么Python 3不向后兼容?

Python 3.0向后兼容吗?为什么?

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并没有真正改变太多-
总的来说, 我们主要是在修复众所周知的烦恼和弊端,并删除了许多旧的东西 。

Python在3.0中新增功能,打破了向后兼容性

可以认为是打破向后兼容性,但同时又改进了语言的一些最显着的功能是:

  • print
    现在是一个函数,而不是一个语句,将其用作语句将导致错误,
  • 现在,各种函数和方法都返回一个迭代器或视图而不是列表,这使遍历其结果的存储效率更高(您无需将结果的整个列表存储在内存中),
  • cmp
    用于对函数排序的参数,例如
    sorted()
    和
    list.sort()
    不再受支持,应将其替换为
    key
    参数,
  • int
    现在与Python 2.x相同
    long
    ,这使得数字处理变得不那么复杂,
  • /
    运算符现在默认为真正除法的运算符(您仍然可以
    //
    用于楼层除法),
  • 默认情况下,Python 3.x中的文本现在为Unipre,
  • True
    ,
    False
    而
    None
    现在保留字(所以你不能做
    True, False = False, True
    ,
  • 元类用法的更改,
  • 必须从中派生异常,并且必须以
    baseException
    与Python 2.x不同的方式引发和捕获异常,
  • 以及其他许多更改,使Python更具可读性,一致性和显式性,


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/617413.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号