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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python3.9特性_Python3.9的7个特性

發(fā)布時間:2025/3/19 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python3.9特性_Python3.9的7个特性 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作者|PADHMA

編譯|VK

來源|Analytics Vidhya

介紹

正如著名作家韋恩?W?戴爾所說,

改變你看待事物的方式 你所看待的事物也會改變

當Python的新版本問世時,許多人擔(dān)心向后兼容性問題和其他問題。但是如果你喜歡Python,你一定會對新更新中發(fā)布的特性感到興奮。

Python的最新版本將于2020年10月5日(星期一)發(fā)布。本文為你提供了一個python3.9特性的列表,你現(xiàn)在可以嘗試這些特性。

更新Python

讓我們首先更新到python的新版本。如果不確定當前使用的版本,請使用下面的代碼檢查當前版本。

在cmd中,鍵入

要更新你的版本,請轉(zhuǎn)到Python下載頁面,獲取安裝包并開始安裝。注意:請確保更新環(huán)境變量中的路徑。

現(xiàn)在我們有了最新的版本,是時候檢查一下有什么新特性了。

1.詞典更新

字典是Python中最有用和最常用的數(shù)據(jù)結(jié)構(gòu)之一。新版本優(yōu)化了合并和更新詞典的方式。

1.1合并詞典

假設(shè)我們有兩本字典dict1和dict2,

dict1包含汽車的名稱和型號,而dict2包含發(fā)動機和重量。

現(xiàn)在我們想合并這兩個字典,因為它們包含關(guān)于同一輛車的信息。在python3.8及更早版本中,要合并兩個字典,我們可以使用

內(nèi)置update方法:

或是表達式**:

這有時會帶來不便和麻煩。

在Python3.9.0中,我們使用| union運算符對語法進行了改進,以合并兩個dict,

這種方式非常干凈、簡潔、坦率。它還提高了代碼的可讀性。

如果兩個字典有一個公共鍵,那么第二個字典中的值將被保留。

1.2更新字典

為了在Python3.8或更早版本中使用新的鍵值對更新現(xiàn)有字典,我們可以

使用update方法,

或者用iterable更新,

在3.9中,我們現(xiàn)在有了update操作符|=它以更簡單的方式完成相同的工作。

在這里,|=的工作原理類似于擴充賦值運算符。

dict1 |=dict2表示dict1=dict1 | dict2

2類型提示

在正常情況下,我們不在Python中指定數(shù)據(jù)類型。但是在某些情況下,我們可能需要一個變量來表現(xiàn)某種類型。在這種情況下,Python的靈活性可能會令人討厭。從Python3.5開始,我們可以指定類型,但這次更新使事情變得更加簡單。

在這種情況下,傳遞給函數(shù)的值的類型非常重要。雖然代碼中沒有錯誤,但是傳遞一個字符串會將同一個字符串重復(fù)兩次。

在最新版本中,通過類型提示(type hinting)我們可以將期望的類型指定為int,

3字符串方法

str對象增加了兩個新特性。在探索性的數(shù)據(jù)分析過程中,這個特性有時會很有用。

從函數(shù)中刪除前綴

從字符串中刪除后綴

4數(shù)學(xué)函數(shù)

4.1 GCD

對現(xiàn)有的數(shù)學(xué)函數(shù)進行了修改。在早期版本中,計算GCD的函數(shù)只接受兩個數(shù)字。但現(xiàn)在,它可以應(yīng)用于任何數(shù)量的值。

4.2 LCM

數(shù)學(xué)模塊中添加了一個新函數(shù)來計算LCM。與GCD函數(shù)一樣,LCM函數(shù)也接受任意數(shù)量的值。

4.3 Nextafter

這個math.nextafter()函數(shù)接受x和y兩個參數(shù)。python3.9的這個特性是一個函數(shù),考慮到浮點數(shù)精度,它是x向y的下一個浮點數(shù)。

4.4 ulp

假設(shè)我們沒有64位計算機。相反,我們只有3位數(shù)字。用這三個數(shù)字我們可以表示像3.14這樣的數(shù)字,但不能表示3.141。對于3.14,我們可以表示的最接近的較大數(shù)字是3.15,這兩個數(shù)字相差1 ULP(最后一位的單位),即0.1。返回值與這個示例相當,但與您的計算機的實際精度相同。

5一致的包導(dǎo)入錯誤

這與其說是一個特性,不如說是一個修復(fù)。當以前的Python導(dǎo)入版本出現(xiàn)不一致時,它的早期導(dǎo)入版本出現(xiàn)了 不一致的錯誤。

builtins.__import__() 引發(fā) ValueError

importlib.__import__() 引發(fā) ImportError

__import__()現(xiàn)在引發(fā)ImportError而不是ValueError,這更有意義。

6隨機字節(jié)生成

random模塊中引入了一個名為randbytes的新方法來生成隨機字節(jié)。Python已經(jīng)可以通過3個不同的函數(shù)生成隨機字節(jié)

os.getrandom()

os.urandom()

secrets.token_bytes()

但它們不能產(chǎn)生偽隨機模式。

這個random.random.randbytes函數(shù)可以以受控的方式生成隨機字節(jié),并且可以通過設(shè)置種子復(fù)制結(jié)果。不過,它只能在安全性不重要的情況下使用。

7支持IANA時區(qū)

在時區(qū)庫zoneinfo中引入了一個新的支持IANA時區(qū)的模塊。

考慮一個將印度標準時間轉(zhuǎn)換為德里當前時間的示例。在3.9之前,我們會通過pip安裝pytz,

對于zoneinfo模塊,這是非常直接的。你可以直接導(dǎo)入ZoneInfo類。

結(jié)論

除此之外,我們現(xiàn)在還有新的高性能的基于PEG的解析器、Graphlib模塊、異步和多處理改進、HTTP狀態(tài)代碼和一堆冗余特性被刪除。點此了解更多:https://docs.python.org/3.9/whatsnew/3.9.html

總結(jié)

以上是生活随笔為你收集整理的python3.9特性_Python3.9的7个特性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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