返回顶部
首页 > 资讯 > 后端开发 > Python >Python 3.8新功能有什么优点
  • 948
分享到

Python 3.8新功能有什么优点

2023-06-02 05:06:12 948人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容主要讲解“python 3.8新功能有什么优点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python 3.8新功能有什么优点”吧!8是Python这个流行语言的最新版本,适用于从自动

本篇内容主要讲解“python 3.8新功能有什么优点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Python 3.8新功能有什么优点”吧!

8是Python这个流行语言的最新版本,适用于从自动化脚本编写、机器学习web开发的所有内容。现在可以获得官方测试版,Python 3.8带来了许多灵活的语法更改,内存共享,更高效的序列化和反序列化,修改后的词典等等。

当然,Python 3.8也引领了各种性能改进。总体结果是让Python更快,更简洁,更一致,更现代化。以下是Python 3.8中最新,最重要的内容。

赋值表达式

Python 3.8中最明显的变化是赋值表达式,它使用了酷似海象的运算符(:=)。赋值表达式允许在表达式的上下文中将值赋给变量,甚至是尚不存在的变量,而不是作为独立语句。

1.  while (line := file.readline()) != "end": 2.  print(chunk)

在此示例中,如果变量行不存在,则创建变量行,然后从file.readline()分配值。然后检查行以查看它是否等于“结束”。如果不是,则读取下一行,存储在行中,测试,等等。

赋值表达式遵循Python中可理解的简洁性的传统,包括列表推导。在这里,我们的想法是减少一些易于出现在某些Python编程模式中的繁琐样板。例如,上面的代码片段通常需要多于两行代码才能表达。

强制某些参数仅为位置

函数定义的新语法,仅位置参数,允许开发人员强制某些参数仅为位置。这消除了关于函数定义中哪些参数是位置的以及哪些是关键字参数的任何歧义。

仅限位置参数可以定义场景,例如,函数接受任何关键字参数但也可以接受一个或多个位置。 Python内置函数通常就是这种情况,因此为python开发人员提供了一种方法,可以增强语言的一致性。如果你依然在编程的世界里迷茫,不知道自己的未来规划可以加入我们的Python秋秋裙去784掉758文214字看看前辈们如何学习的!交流经验!自己是一名高级python开发工程师,从基础的python脚本到WEB开发、爬虫Django数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!分享一些学习的方法和需要注意的小细节

Python文档中的一个例子:

1.  def pow(x, y, z=None, /): 2.  r = x**y 3.  if z is not None: 4.  r %= z 5.  return r

/将位置与关键字参数分开; 在这个例子中,所有的参数都是位置的。在以前的Python版本中,z将被视为关键字参数。 给定上述函数定义,pow(2,10)和pow(2,10,5)是有效调用,但pow(2,10,z = 5)不是。

F字符串调试支持

f-string格式提供了一种方便(且性能更高)的方式来在同一表达式中打印文本和计算值或变量:

1.  x = 3  2.  print(f'{x+1}')

这将打印4。

在f字符串表达式的末尾添加=会打印f-string表达式本身的文本,后跟值:

1.  x = 3 2.  print (f'{x+1=}')

这将打印x + 1 = 4。

多处理模块共享内存

使用Python 3.8,多处理模块现在提供了一个SharedMemory类,允许在不同的Python进程之间创建和共享内存区域。

在以前的Python版本中,只能通过将数据写入文件,通过网络套接字发送或使用Python的pickle模块对其进行序列化来在进程之间共享数据。共享内存为在进程之间传递数据提供了更快的路径,使Python能够更有效地使用多个处理器和处理器内核。

共享内存段可以分配为字节的原始区域,或者它们可以使用不可变的类似列表的对象,这些对象存储Python对象的一小部分 - 数字类型,字符串,字节对象和None对象。

打字模块的改进

Python是动态类型的,但支持通过输入模块使用类型提示,以允许第三方工具验证Python程序。 Python 3.8为键入添加了新元素,以便更加可靠地进行检查:

  • final decorator 和Final type annotation表明decorated/annotated 的对象不应在任何位置被覆盖,子类化或重新分配。

  • Literal类型将表达式限制为特定值或值列表,不一定是相同类型。

  • TypedDict类型允许创建字典,其中与某些键关联的值仅限于一个或多个特定类型。 请注意,这些限制仅限于在编译时可以确定的内容,而不是在运行时。

新版本的pickle协议

Python的pickle模块提供了一种序列化和反序列化Python数据结构的方法,例如,允许将字典原样保存到文件中并在以后重新加载。不同版本的Python支持不同级别的pickle协议,更新版本支持更广泛的功能和更高效的序列化。

使用Python 3.8引入的pickle第5版提供了一种新方法,来pickle实现Python缓冲区协议的对象,例如字节,内存视图或NumPy数组。新的pickle减少了必须为这些对象制作的内存副本数量。

像NumPy和Apache Arrow这样的外部库在他们的Python绑定中支持新的pickle协议。新的pickle也可以作为PyPI的Python 3.6和Python 3.7的附件提供。

可逆词典

Python中的字典完全用Python 3.6重写,使用PyPy项目提供的新实现。除了更快更紧凑外,词典现在还具有其元素的固有顺序;它们是在添加时订购的,就像列表一样。 Python 3.8允许在字典上使用reversed()。

性能改进

  • 许多内置方法和函数已经加速了20%到50%,因为其中许多方法和函数不必要地转换传递给它们的参数。

  • 新的操作码缓存可以加速解释器中的某些指令。但是,目前唯一实现的加速是针对LOAD_GLOBAL操作码,现在快40%。计划对更高版本的Python进行类似的优化

  • 文件复制操作(例如shutil.copyfile()和shutil.copytree())现在使用特定于平台的调用和其他优化来加速操作。

  • 由于优化利用列表构造函数对象的长度(如果事先已知),现在新创建的列表现在平均比以前小12%。

  • 在Python 3.8中,在新式类(例如,类A(对象))上写入类变量要快得多。

  • operator.itemgetter()和collections.namedtuple()也有新的速度优化。

Python C api和CPython改进

在Python的最新版本中,主要的工作是重构CPython中使用的C API,这是用C编写的Python的参考实现。到目前为止,这项工作只产生了增量变化,但它们正在加起来:

  • 用于Python初始化配置的新C API允许对Python的初始化例程进行更严格的控制和更详细的反馈。 这样可以更轻松地将Python运行时嵌入到应用程序中,并以编程方式将启动参数传递给Python。 这个新API还旨在确保所有Python的配置控件都具有单一,一致的主页,以便将来更改(如Python的新UTF-8模式)更容易插入。

  • 另一个用于CPython的新C API,即“vectorcall”调用协议,允许更快地调用内部Python方法,而无需创建临时对象来处理调用。API仍然不稳定,但已暂时可用。 计划是从Python 3.9开始最终确定它。

  • Python运行时审计挂钩在Python运行时中提供了两个API,用于挂钩事件并使它们可以观察到外部工具,如测试框架日志记录和审计系统。

到此,相信大家对“Python 3.8新功能有什么优点”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Python 3.8新功能有什么优点

本文链接: https://lsjlt.com/news/229041.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python 3.8新功能有什么优点
    本篇内容主要讲解“Python 3.8新功能有什么优点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python 3.8新功能有什么优点”吧!8是Python这个流行语言的最新版本,适用于从自动...
    99+
    2023-06-02
  • Python 3.8有什么新功能
    本篇内容主要讲解“Python 3.8有什么新功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python 3.8有什么新功能”吧!1. 新模块:读取元数据历使用新的importlib.met...
    99+
    2023-06-16
  • Python 3.8新功能有哪些
    这篇文章主要讲解了“Python 3.8新功能有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python 3.8新功能有哪些”吧!1. 新模块:读取元数据历使用新的importlib....
    99+
    2023-06-01
  • Python 3.8六大新功能
    近期,Python 3.8已经发布。 不过别担心,小芯已经为你总结好了Python 3.8中每个新手都应该掌握的6大新功能。IT业日新月异,落后的Python 2将在2020年逐渐被淘汰。2019年,随着数据科学的兴起,Python成为了最...
    99+
    2023-06-05
  • Python 3.8功能有哪些
    本篇内容主要讲解“Python 3.8功能有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python 3.8功能有哪些”吧!新增赋值表达式PEP 572的标题是赋值表达式,也叫做「命名表达...
    99+
    2023-06-16
  • Python代码补全功能Kite有什么优点
    这篇文章主要讲解了“Python代码补全功能Kite有什么优点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python代码补全功能Kite有什么优点”吧!一般我们开发时,比如使用Pycha...
    99+
    2023-06-02
  • HTML5有什么新功能
    这篇文章主要介绍“HTML5有什么新功能”,在日常操作中,相信很多人在HTML5有什么新功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”HTML5有什么新功能”的疑惑有所帮...
    99+
    2024-04-02
  • CSS3有什么新功能
    本篇内容主要讲解“CSS3有什么新功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS3有什么新功能”吧!CSS3备受期待的八大功能1)圆角这个功能已经在诸...
    99+
    2024-04-02
  • win1019013有什么新功能
    本篇内容介绍了“win1019013有什么新功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一.更多Kaomoji 在Windows 10...
    99+
    2023-07-01
  • Dreamweaver CS4有什么新功能
    这篇文章主要为大家展示了“Dreamweaver CS4有什么新功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Dreamweaver CS4有什么新功能”这篇文章吧。此前piscdong已经...
    99+
    2023-06-08
  • JMeter 2.6有什么新功能
    本篇内容主要讲解“JMeter 2.6有什么新功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JMeter 2.6有什么新功能”吧!JMeter 2.6 发布了,该版本要求 Java 5 的环...
    99+
    2023-06-17
  • ASP.NET MVC2 RC2有什么新功能
    本篇内容主要讲解“ASP.NET MVC2 RC2有什么新功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET MVC2 RC2有什么新功能”吧!从ASP.NET MVC 2 RC ...
    99+
    2023-06-17
  • Zenoss Core 3.0.3有什么新功能
    这篇文章主要介绍Zenoss Core 3.0.3有什么新功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Zenoss Core 3.0.3已经于近日发布。Zenoss Core是开源企业级IT管理软件-是智能监控...
    99+
    2023-06-16
  • 鸿蒙3.0有什么新功能
    鸿蒙3.0新功能有:1、跨设备互联功能,实现了设备之间的无缝连接和互通,无论是手机、电脑、智能电视还是智能家居设备等;2、人工智能技术,为用户带来更智能的操作体验;3、加强了安全性和隐私保护,可以有效地抵御恶意软件和网络攻击;4、用户可以通...
    99+
    2023-07-19
  • vue.js有什么功能和特点
    本篇内容主要讲解“vue.js有什么功能和特点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue.js有什么功能和特点”吧! 本文...
    99+
    2024-04-02
  • Python库pyforest有什么优点
    这篇文章主要讲解了“Python库pyforest有什么优点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python库pyforest有什么优点”吧!一个示例看到了吧,开头什么都没impo...
    99+
    2023-06-02
  • Python 功能和特点(新手必学)
    Python是一门简单而文字简约的语言。阅读好的Python程序感觉就像阅读英语,尽管是非常严格的英语。Python的这种伪代码特性是其最大强项之一,它可让你专注于解决问题的办法而不是语言本身。 在使用Py...
    99+
    2022-06-04
    新手 功能 Python
  • iOS 17 Beta 4 有什么新功能?
    iOS 17 Beta 4是Apple移动操作系统的最新版本,它包括许多新功能和改进。优先考虑用户舒适度,Apple通过此更新带来了许多创新。iPhone和iPad用户现在可以体验更新和升级的移动体验。我们来看一下 iOS 26 Beta ...
    99+
    2023-07-29
  • Python 3.0有哪些新功能
    本篇内容介绍了“Python 3.0有哪些新功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在Python 3.1的开发计划中,很大一部分...
    99+
    2023-06-17
  • python线程池有什么优点
    这篇文章给大家分享的是有关python线程池有什么优点的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作