python新手入門指導 Python 3 8

2021-10-10 19:14:12 字數 2827 閱讀 8022

python 3.8 的一些新功能包括:

1. 海象運算子

ps:很多人在學習python的過程中,往往因為沒有好的教程或者沒人指導從而導致自己容易放棄,為此我建了個python交流.裙 :一久武其而而流一思(數字的諧音)轉換下可以找到了,裡面有最新python教程專案可拿,不懂的問題多跟裡面的人交流,都會解決哦!

在這個新版本中,我們有一種新的賦值運算子,稱為 walrus 運算子 := 。該運算子的優點是可以在一行中設定和返回變數。例如:

code:

sample_data = [,,

,,,print(「with python 3.8 walrus operator:」)

for entry in sample_data:

if name := entry.get(「name」):

print(f』found name = 』)

print(「without walrus operator:」)

for entry in sample_data:

name = entry.get(「name」)

if name:

print(f』found name = 』)output:

with python 3.8 walrus operator:

found name = 「srijan」

found name = 「abhishek」

found name = 「dilip」

found name = 「vishal」

without walrus operator:

found name = 「srijan」

found name = 「abhishek」

found name = 「dilip」

found name = 「vishal」

2. 僅限位置形參

現在,在定義方法的引數時可以使用特殊的標記「/」,以指定該函式僅接受標記左側的位置引數。此處的「/」標記表示 x,y 和 z 的值只能在位置上傳遞,而不能使用關鍵字引數。

code:

deffunc1(x,y,z=none,/):

r = x + y

if z is not none:

r -= z

return r

print(func1(2, 5)) #7

print(func1(2, 5, 3)) #4

print(func1(x=2, y=10)) #typeerror

print(func1(2, 10, z=3)) #typeerror

3. f-string 支援「=」

現在,你可以在 f-string 中使用「=」運算子來獲取並列印值。

這意味著現在我們可以在 f-string 中執行算術運算了。

a=5b=6

print(f'sum=') #11

4. * 新語法警告 **

python 為缺少逗號引入了新的警告訊息,在這個新版本中的錯誤訊息。直譯器會丟擲這個有用的警告資訊,這將有助於使用者快速找到自己的錯誤。

list1=[[0,1] [2,3]] #這將給出缺少逗號和typeerror的syntaxwarning。

syntaxwarning

5. 可逆字典

reversed() 現在可用於字典。python 已經開始從 3.7 開始保留 dictionary 中插入鍵的順序,但現在在 3.8 中,您也可以反轉它。

dict1=

print(dict1) #

print(list(reversed(dict1))) ['b', 'a']

6. 多處理共享記憶體

使用多處理,可以跨 python 的所有例項全域性共享和訪問資料。這將大大加快資料的儲存、儲存、訪問和傳輸。

7. 建立 pickle 檔案的新協議

python 中的 pickle 主要用於序列化和反序列化資料,以及可以在其他地方使用的**。在這個新版本中,python 將預設使用 protocol 4,您也可以將 protocol 5 與之一起使用。這將使 api 得到充分利用,從而提高效能。

對於在資料科學領域工作的人來說,這是乙個令人興奮的訊息,因為即使在空間較低或有限的伺服器上,這也能很好地與 django 和 flask 一起工作。

8. 改進的 cpython

python 還表示,他們已經改進了 python 的 c 引擎。這將使 python 中的優化變得容易。資料科學領域的人們已經遇到了很多 python 或 jupyter 環境由於大量資料而崩潰的例子。隨著 cpython 模組的改進,使用者可以期望在處理和查詢資料時獲得更好的結果。

9. 效能改進

此版本增加了一些效能,加快了直譯器的速度。其中一些是:

operator.itemgetter() 現在快了 33%。

field lookups in collections.namedtuple() 中的字段查詢現在快了兩倍多。

列表建構函式現在建立的列表平均小 12%。

uuid.uuid 現在使用插槽來減少記憶體占用。

一些簡單的內建和方法的呼叫現在快了 20-50%。

總結很多人在學習python的過程中,往往因為沒有好的教程或者沒人指導從而導致自己容易放棄,為此我建了個python交流.裙 :一久武其而而流一思(數字的諧音)轉換下可以找到了,裡面有最新python教程專案可拿,不懂的問題多跟裡面的人交流,都會解決哦!

遊戲開發新手入門指導 Q A

遊戲開發新手入門指導 q a 遊戲製作新人 用什麼語言和編譯器來做遊戲?directx是什麼?學程式設計需要哪些書?我怎樣製作遊戲?哪些書是介紹遊戲開發的?vc好還是c 好?給c 初學者的50個忠告 具備程式基礎 如何用directx製作2d遊戲?如何使用directinput?如何在遊戲中顯示文字...

遊戲開發新手入門指導 Q A

遊戲開發新手入門指導 q a 遊戲製作新人 用什麼語言和編譯器來做遊戲?directx是什麼?學程式設計需要哪些書?我怎樣製作遊戲?哪些書是介紹遊戲開發的?vc好還是c 好?給c 初學者的50個忠告 具備程式基礎 如何用directx製作2d遊戲?如何使用directinput?如何在遊戲中顯示文字...

python新手入門

1.先看下python的基礎,然後去看 ng的機器學習課程,最後結合周志華的機器學習和 機器學習實戰兩本書 2.盡量不要直接呼叫工具箱,自己去實現演算法 3.先安andconda,再安ide就可以了,pycharm 4.4,測試anaconda,桌面 開始 右下角執行 ipython第乙個 執行 5...