日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python 3.9要发布啦,快来看看有哪些新特性?

發(fā)布時(shí)間:2024/4/15 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 3.9要发布啦,快来看看有哪些新特性? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python一直在馬不停蹄的更新,最近又要發(fā)布Python3.9的正式版了。該版本包含了一些新特性,下面一起來(lái)看看吧!!!

本文主要介紹以下方面:

  • 新增字典合并操作符 | 和|=
  • 新增函數(shù)的參數(shù)、返回值的類型提示
  • 新增字符串移除前綴和后綴的函數(shù)
  • 新的python解析器

一、新增字典合并操作符 | 和|=

新增方法:使用 | 字符合并字典,如果合并時(shí)兩個(gè)字典的鍵值相同采用第二個(gè)字典的鍵值對(duì)

例如:

dict1 = {k1:'a',k2:'b',k3:'c'} dict2 = {k4:'d',k5:'e'} dict3 = dict1 | dict2 print(dict3)

輸出結(jié)果

?{k1:'a',k2:'b',k3:'c',k4:'d',k5:'e'}

也可以使用 |= 操作符進(jìn)行合并

例如:

dict1 = {k1:'a',k2:'b',k3:'c'} dict2 = {k4:'d',k5:'e'} dict1 |= dict2 print(dict1 )

輸出結(jié)果

?{k1:'a',k2:'b',k3:'c',k4:'d',k5:'e'}

|= 操作符的好處是支持使用可迭代對(duì)象(如列表或生成器)的鍵值對(duì)更新字典

例如:

dict1 = {k1:'a',k2:'b',k3:'c'} dict2 = ((i,i**2) for i in range(3)) dict1 |= dict2 print(dict1 )

輸出結(jié)果

?{k1:'a',k2:'b',k3:'c',k4:'d',k5:'e'}

如果把上述代碼中的dict1 |= dict2換成?dict3?|= dict1 + dict2則匯報(bào)TypeError,因?yàn)?| 只允許字典類型進(jìn)行合并

我們來(lái)看看以前python是如何實(shí)現(xiàn)字典合并的呢?答案是使用字典的update()方法

例如:

dict1 = {k1:'a',k2:'b',k3:'c'} dict2 = {k4:'d',k5:'e'} dict3 = dict1.update(dict2) print(dict3)

輸出結(jié)果:?

?{k1:'a',k2:'b',k3:'c',k4:'d',k5:'e'}

不過(guò)為什么不使用 + 進(jìn)行字典合并呢?

二、新增函數(shù)參數(shù)、返回值的類型提示

python的動(dòng)態(tài)類型的編程語(yǔ)言,不需要指定數(shù)據(jù)類型,但可以對(duì)數(shù)據(jù)類型進(jìn)行建議,語(yǔ)法如下:

def twoSum(num1: int, num2: int=100) -> int:sum = num1 + num2return sum

參數(shù)后面的冒號(hào)代表參數(shù)的類型建議,函數(shù)后面的箭頭代表函數(shù)返回值的類型建議

雖然有類型建議,但是不傳入建議的類型也不會(huì)報(bào)錯(cuò),比如傳入兩個(gè)字符串,也可以對(duì)兩個(gè)字符串進(jìn)行相加。

有時(shí)候由于我們調(diào)用的時(shí)候可能不知道函數(shù)的建議參數(shù)類型和返回值類型,傳錯(cuò)了就很尷尬,于是python3.9中增加了在調(diào)用的函數(shù)的地方給出類型提出,如下圖所示:

任何地方都可以使用類型提示,由于有了新的語(yǔ)法支持,看起來(lái)非常清爽。

三、新增字符串函數(shù)

在python3.9中新增了兩個(gè)函數(shù),一個(gè)是移除字符串前綴,一個(gè)是移除字符串后綴,語(yǔ)法如下:

"Hello World".removeprefix("Hel") "Hello World".removesuffix("Hel")

四、新的python解析器

python目前主要使用一種基于LL(1)的語(yǔ)法,這種語(yǔ)法通過(guò)LL(1)解析器進(jìn)行解析(從上到下從左到右地解析代碼)。

新的python解析器是基于PEG語(yǔ)法的。

由于本仙女對(duì)解析器等底層?xùn)|東了解不多,也就不介紹太多啦

?

順便吐槽一句,python這么好用,阿里的測(cè)試為什么用java不用python呢,辛辛苦苦學(xué)java中

總結(jié)

以上是生活随笔為你收集整理的Python 3.9要发布啦,快来看看有哪些新特性?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。