网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Python3.9版本有哪些新功能

这篇文章主要介绍“Python 3.9版本有哪些新功能”,在日常操作中,相信很多人在Python 3.9版本有哪些新功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python 3.9版本有哪些新功能”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为鹿城企业提供专业的成都网站设计、网站制作鹿城网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

1. 字典合并

这是笔者最喜欢的新功能之一,它拥有优美的语法。如果有两个字典a和b需要合并,可以使用合并运算符:

合并(merge)操作符|:

a = {1: 'a', 2: 'b', 3: 'c'} b = {4: 'd', 5: 'e'}c = a | b print(c)[Out]: {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}

用来更新原始字典的更新运算符|=:

a = {1: 'a', 2: 'b', 3: 'c'} b = {4: 'd', 5: 'e'}a |= b print(a)[Out]: {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}

如果字典共享一个公共键(common key),则使用第二个字典中的键值对:

a = {1: 'a', 2: 'b', 3: 'c', 6: 'in both'} b = {4: 'd', 5: 'e', 6: 'but different'}print(a | b)[Out]: {1: 'a', 2: 'b', 3: 'c', 6: 'but different',4: 'd', 5: 'e'}

使用迭代更新字典:|=运算符还有一个不错的地方,即能够通过可迭代对象(例如列表或生成器)使用新的键值对更新字典。

a = {'a': 'one', 'b': 'two'} b = ((i, i**2) for i in range(3))a |= b print(a)[Out]: {'a': 'one', 'b': 'two', 0: 0, 1: 1, 2: 4}

如果尝试使用标准合并运算符|进行相同的操作,将产生一个类型错误(TypeError),因为它仅允许字典(dict)类型之间的合并操作。

Python 3.9版本有哪些新功能

2. 字符串方法

这个功能看起来“其貌不扬”,但实则非常实用。新版本添加了两个用于删除前缀和后缀的新字符串方法:

“ Hello world” .removeprefix(“ He”) [Out]:“ llo world” Hello world” .removesuffix(“ ld”) [Out]:“ Hello wor”

3. 新分析器

这是一个不可见的更改,但有可能成为Python未来发展中最重要的更改之一。

Python当前使用的主要是基于LL(1)的语法,而该语法又可以由LL(1)分析器进行解析,该分析器使用单一的前向标记符从上到下,从左到右地解析代码。

笔者几乎不知道它是如何工作的,但是可以指出一些由于Python使用这种方法导致的问题:

  • Python包含非LL(1)语法;当前语法的某些部分使用了工作区,从而造成不必要的复杂性。

  • LL(1)在Python语法中造成限制(没有可用的工作区)。此问题突出说明了以下代码根本无法使用当前分析器实现(引发语法错误):

  • with (open("a_really_long_foo") as foo,       open("a_really_long_bar")as bar):     pass
  • LL(1)在分析器中以左递归中断。意味着含义特定的递归语法可能导致解析树中的无限循环。

所有这些因素(还有很多根本无法理解的因素)严重限制了Python语言的发展。而基于PEG的新分析器将为Python开发人员提供更大的灵活性,人们会从Python  3.10开始注意到这一点。

4. 类型提示

Python是动态类型的,这意味着无需在代码中指定数据类型。这一特性本身没有问题,但有时可能会造成混淆。

从Python 3.5开始,用户可以指定类型,但是操作起来非常麻烦。此次更新改变了这一点,举个例子:

Python 3.9版本有哪些新功能

无类型提示(左)vs3.9中带类型提示(右)

add_int函数的目的是为数值自身添加相同的数值。但是编辑器并不知道这一点,因此完全可以使用+将两个字符串加在一起,不会发出警告。现在可以将期望的输入类型指定为int。使用此功能,编辑器可以立即了解问题。

用户还可以非常详细地了解所包含的类型,例如:

Python 3.9版本有哪些新功能

类型提示可以在任何地方使用,新语法让代码看起来更加整洁:

Python 3.9版本有哪些新功能

将sum_dict的参数指定为dict,将返回值指定为整数型。在定义test时,也要确定其类型。

这些新功能确实让人迫不及待,等不及的同学可以先去试试最新的Beta版本-3.9.0b3。

到此,关于“Python 3.9版本有哪些新功能”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


文章标题:Python3.9版本有哪些新功能
URL标题:http://bjjierui.cn/article/ijhhdh.html

其他资讯