Python■你应该知道的Python3.6、3.7、3.8新特性( 七 )

  • final修饰器和Final类型标注表明 , 被修饰或被标注的对象在任何时候都不应该被重写、继承 , 也不能被重新赋值 。
  • Literal类型将表达式限定为特定的值或值的列表(不一定是同一个类型的值) 。
  • TypedDict可以用来创建字典 , 其特定键的值被限制在一个或多个类型上 。 注意这些限制仅用于编译时确定值的合法性 , 而不能在运行时进行限制 。
  • 5、多进程共享内存multiprocessing模块新增SharedMemory类 , 可以在不同的Python进城之间创建共享的内存区域 。
    在旧版本的Python中 , 进程间共享数据只能通过写入文件、通过网络套接字发送 , 或采用Python的pickle模块进行序列化等方式 。 共享内存提供了进程间传递数据的更快的方式 , 从而使得Python的多处理器和多内核编程更有效率 。
    共享内存片段可以作为单纯的字节区域来分配 , 也可以作为不可修改的类似于列表的对象来分配 , 其中能保存数字类型、字符串、字节对象、None对象等一小部分Python对象 。
    6、 新版本的pickle协议Python的pickle模块提供了一种序列化和反序列化Python数据结构或实例的方法 , 可以将字典原样保存下来供以后读取 。 不同版本的Python支持的pickle协议不同 , 而3.8版本的支持范围更广、更强大、更有效的序列化 。
    Python 3.8引入的第5版pickle协议可以用一种新方法pickle对象 , 它能支持Python的缓冲区协议 , 如bytes、memoryviews或Numpy array等 。 新的pickle避免了许多在pickle这些对象时的内存复制操作 。
    NumPy、Apache Arrow等外部库在各自的Python绑定中支持新的pickle协议 。 新的pickle也可以作为Python 3.6和3.7的插件使用 , 可以从PyPI上安装 。
    7、性能改进
    • 许多内置方法和函数的速度都提高了20%~50% , 因为之前许多函数都需要进行不必要的参数转换 。
    • 一个新的opcode缓存可以提高解释器中特定指令的速度 。 但是 , 目前实现了速度改进的只有LOAD_GLOBAL opcode , 其速度提高了40% 。 以后的版本中也会进行类似的优化 。
    • 文件复制操作如shutil.copyfile()shutil.copytree()现在使用平台特定的调用和其他优化措施 , 来提高操作速度 。
    • 新创建的列表现在平均比以前小了12% , 这要归功于列表构造函数如果能提前知道列表长度的情况下 , 可以进行优化 。
    • Python 3.8中向新型类(如class A(object))的类变量中的写入操作变得更快 。 operator.itemgetter()和collections.namedtuple()也得到了速度优化 。
    • Python电子书大全(仅展示部分)

    • 【Python■你应该知道的Python3.6、3.7、3.8新特性】python学习手册、Python网络爬虫到实践、Python开发技术详解、python Web开发实战、Python语言程序设计基础等等......小编在这里已经全部整理完了 , 需要获取的小伙伴就可以转发此文 , 关注小编 , 私信小编“学习”就可以得到获取方式啦~~