Python 3.8新功能有什么优点

发布时间:2021-11-20 16:56:37 作者:iii
来源:亿速云 阅读:278

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

3.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为键入添加了新元素,以便更加可靠地进行检查:

新版本的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()。

性能改进

Python C API和CPython改进

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

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

推荐阅读:
  1. Python 3.8正式来袭,新版本带来哪些新特性
  2. Python 3.8的新功能有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:如何在无线J2ME设备上实现超文本传输协议

下一篇:怎么搭建Mysql单机实例

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》