温馨提示×

温馨提示×

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

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

Python 3.9.0新特性实例分析

发布时间:2022-01-24 16:02:27 来源:亿速云 阅读:124 作者:zzz 栏目:开发技术

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

Python 3.9.0新特性实例分析

1. 词典联合运算符

这是我最喜欢的功能之一,语法非常优美。

在Python3.9,如果你有两个词典,现在可以用这些运算符进行合并和更新。

合并运算符 “|”: Python 3.9.0新特性实例分析

还有update运算符|=,它会更新原始字典:

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

如果我们的词典共享一个key,那么将使用第二个词典中的value:

   a = {1: 'a', 2: 'b', 3: 'c', 6: 'in both'}
   b = {4: 'd', 5: 'e', 6: 'but different'}
   print(a | b)
   {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)
   {'a': 'one', 'b': 'two', 0: 0, 1: 1, 2: 4}

当然,如果你用|这样做,则会得到TypeError,因为它只能用于dict类型之间的联合。 Python 3.9.0新特性实例分析

2. 字符串方法

removeprefix()和removesuffix()

str.removeprefix(substring: string) 是一个方法,接收一个substring参数,顾名思义,它将删除字符串对应的substring前缀,如果没有对应的前缀,返回原字符串。 str.removesuffix(substring: string) 是一个方法,接收一个substring参数,它将删除字符串的对应substring后缀,如果没有对应的后缀,返回原字符串。

Python 3.9.0新特性实例分析
Python3.9的4个新特性你不可不知Python3.9的4个新特性你不可不知

当然,两个函数执行你可以通过使用string[len(prefix):]前缀和string[:-len(suffix)]后缀来实现。

这些是非常简单的操作,因此也是非常简单的功能,考虑到你可能经常执行这些操作,Python3.9 提供的这两个内置函数应该能让你非常爽。

3. 新的数学函数

Python 3.9 的数学模块进行了不少的优化并添加了许多新功能。

比如以前gcd计算最大公因数的函数只能应用于2个数字,这就很蛋疼,我们必须使用 math.gcd(80, math.gcd(64, 152))来处理大于2个数字的情况。

现在 gcd 允许计算任意数量的数字。

   import math
   
   # Greatest common divisor   math.gcd(80, 64, 152)
   # 8

Math模块中,第一个新增的功能是:

   # 最小公倍数   math.lcm(4, 8, 5)
   # 40

用于计算最小公倍数:math.lcm,与gcd一样,它允许可变数量的参数。

4. 新的解析器—PEG

这一个更改你可能看不见、摸不着,但它可能改变Python的未来。

以前Python使用 LL(1) 解析器,从Python 3.9 开始,将使用 PEG 解析器,官方认为,这个更改会使得他们更加方便地构建新功能。

到此,关于“Python 3.9.0新特性实例分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

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

AI