溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python 3.8有什么新功能

發布時間:2021-11-19 13:43:12 來源:億速云 閱讀:201 作者:iii 欄目:編程語言

本篇內容主要講解“Python 3.8有什么新功能”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python 3.8有什么新功能”吧!

1. 新模塊:讀取元數據歷

使用新的importlib.metadata模塊可以讀取第三方包的元數據??梢栽谀_本包中獲取版本號。

2. 字典反轉:排序

現在,字典可以用resersed( )在反轉插入排序中實現迭代了。

3. Continue – finally

由于Python的實現問題,以前在Finally子句中添加continue語句是不合法的?,F在這一問題已不復存在。

for i inrange(2):     try:         print(i)     finally:         print('A sentence.')         continue         print('This never shows.') # Python <= 3.7 >>SyntaxError: 'continue'not supported inside 'finally' clause # Python 3.8 >>0    A sentence.    1    A sentence.

4. 指示參數類型:讓代碼更強大

Python函數只接受兩種參數。

  • 位置參數:根據函數定義的參數位置來傳遞參數。

  • 關鍵字參數:使用關鍵字來指定參數。

在下例中,參數a和參數b的值可由位置參數或關鍵字參數確定,非常靈活。

def my_func(a, b=1):     return a+bmy_func(5,2)     # both positional arguments my_func(a=5,b=2) # both keyword arguments

新版本的Python用語法/和*作區分,提供了指定接受位置參數或關鍵字參數的方法。注意:語法*并不是在Python 3.8中才出現。

在下面的例子中,開頭的兩個參數a和b只接受位置參數,中間的c和d可接受位置參數或關鍵字參數,最后的e和f只接受關鍵字參數。

defmy_func(a, b, /, c, d, *, e, f):     return a+b+c+d+e+f my_func(1,2,3,4,5,6)          # invalid  as e and f are keyword-only my_func(a=1,b=2,3,4,e=5,f=6) # invalid as a and b are position-only my_func(1,2,c=3,4,e=5,f=6)    # returns  21 my_unc(1,2,c=3,d=4,e=5,f=6)  # returns 21

為什么要犧牲靈活性呢?如果參數名稱隨意且無用,就應該排除關鍵字參數。如果預計函數中的參數名可能會發生變化,指定參數類型能避免代碼崩潰,也能讓代碼更加強大。

5. 賦值表達式:提升代碼可讀性

賦值表達式,又稱海象運算符,是以:=為語法形式的新運算符,它能把較大表達式中的某部分賦值給變量。這無疑是Python  3.8中討論最多的新功能了。

來看個例子: 賦值表達式b := a**2 將a的平方,也就是36,賦值給b,然后檢查b的值是否大于0。

a =6 # The following statement # assigns the value a ** 2 to  variable b, # and then check if b > 0 is  true if (b := a **2) >0:     print(f'The  square of {a} is .') # The square of 6 is 36.

有時賦值表達式能讓代碼更加簡潔可讀。但是,請注意不要濫用賦值表達式,因為在某些情況下它會讓代碼更加難懂。

# DON'T DO THIS! a = 5 d = [b := a+1, a := b-1, a := a*2]

其他(老)程序語言中也有賦值表達式,希望改用Python的程序員們能(多)用這一新功能。在賦值表達式泛濫之前趕快掌握它吧。

6. F字符串2.0: 調試(debug)的利器

Python  f字符串改變了游戲規則。F字符串是格式化字符串的語法,簡潔且易讀。利用語法f'{expr}',在引號前加上f,將表達式用大括號括住,就能夠將表達式插入字符串。

Python更新之后,等于號“=”能夠在f字符串f'{expr=}'語法中作為格式限定符使用。輸出的字符串為變量名=變量值,如下所示:

# DON'T DO THIS! a = 5 d = [b := a+1, a := b-1, a := a*2]

出于編制文件或調試 (Debug) 的需要,常需要指明變量值。F字符串使得調試(debug)易如反掌。

當然,在投身Python 3.8編程之前,你需要掌握Python基本功能(必不可少)。

到此,相信大家對“Python 3.8有什么新功能”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女