1. 
          

          1. 新聞動(dòng)態(tài)

            Python 3.8 到來(lái),晨展科技帶你了解 6 大重要新特性

            行業(yè)資訊 發(fā)布者:cya 2020-01-14 08:53 訪(fǎng)問(wèn)量:153

            一個(gè)有活力的編程語(yǔ)言,總是動(dòng)態(tài)變化以適應技術(shù)的發(fā)展。2020年1月1日起,Python 2 將不再得到官方支持,這也基本宣告了它的死亡。


            而在數據科學(xué)熱潮的推動(dòng)下,以 Python 3 為主的 Python 語(yǔ)言依然是世界上最流行的編程語(yǔ)言。隨著(zhù)版本的更迭,它的語(yǔ)法不斷更新,有了許多新形式的表達式。想要保持對 python 的“追更”是很難的,但有一些相見(jiàn)恨晚的功能,值得你早點(diǎn)掌握。


            于是,我們幫你整理好了這次 Python 3.8 更新中你應該了解的六大新特性,一起來(lái)看看吧!



             1. 賦值表達式——可讀性


            這個(gè)新的運算符 := 被稱(chēng)為海象運算符,因為 := 很像小眼睛長(cháng)牙齒的海象。它能讓你把一行語(yǔ)句中的某一個(gè)表達式賦值給一個(gè)變量,同時(shí)不影響該語(yǔ)句的原始邏輯。這應該是 Python 3.8 中被人討論最多的一個(gè)新功能了??梢钥聪旅娴睦樱?/p>


            第 4 行中,賦值語(yǔ)句 b := a**2 將 的平方賦值給了 b,同時(shí)又讓 b 參與了布爾運算 b > 0



            這樣的賦值語(yǔ)句可以讓你的代碼更加緊湊,同時(shí)保持良好的可讀性。但注意不要濫用它,否則在某些情況下可能會(huì )讓你的代碼變得更加難懂:


            (千萬(wàn)別這么干?。?/span>


            這個(gè)運算符在許多(古老的)編程語(yǔ)言中也存在,我預計有許多從其他語(yǔ)言切換到 Python 的程序員都會(huì )(濫)用這個(gè)新功能來(lái)給表達式賦值。


            搶在別人前面熟悉這個(gè)特性吧。


             2. 參數類(lèi)型——可靠性


            在 Python 中,一個(gè)函數可以接受兩種不同方式指定的參數:


            • 位置參數:按其傳入的順序賦值給對應位置的參數;

            • 關(guān)鍵字參數:依據給定的關(guān)鍵字賦值給對應的參數。


            在下面這個(gè)例子中,函數內 a 和 b 兩個(gè)參數的值分別按照位置參數和關(guān)鍵字參數的方式進(jìn)行指定,十分靈活。



            新版本的 Python 3 提供了一個(gè)額外的語(yǔ)法糖,用來(lái)指明某些參數必須使用僅限位置而非關(guān)鍵字參數的形式。具體用法為使用 和 * 符號對參數列表進(jìn)行分隔。

            *注:后面的“*”語(yǔ)法并不是 Python 3.8 里新增的。


            在下面的例子中,頭兩個(gè)參數 a 和 b 只能用位置參數,中間兩個(gè)參數 c 和 d 可以任意使用關(guān)鍵字或位置方式指定,最后兩個(gè)參數 e 和 只能用關(guān)鍵字參數。



            為什么需要限制這種靈活性呢?如果你的參數名沒(méi)有什么意義,或者是隨便取的(比如 a、b、i、j 這樣),那你應該排除使用關(guān)鍵字傳遞的方式,免得未來(lái)你重構或是修改這個(gè)函數的時(shí)候,改動(dòng)參數的變量名稱(chēng)會(huì )讓其他調用代碼出錯。這樣就能讓你的代碼更加的穩定健壯。


             3. f 字符串 2.0 版——方便調試


            Python 的 f 字符串是一個(gè)創(chuàng )舉。它使你可以用優(yōu)雅易懂的方式格式化輸出包含表達式的字符串。它的基本語(yǔ)法是 f'{expr}' ,其中需要計算的表達式被大括號括起來(lái),在字符串引號的前面,用字母 進(jìn)行標記。


            本次更新給 f 字符串帶來(lái)了一個(gè)新的格式化標記:等號“=”。在 f 字符串里,等號跟在表達式的末尾,語(yǔ)法為:f'{expr=}',輸出的字符串將包含變量名稱(chēng)和其對應的值,如下面這個(gè)例子所示:



            這樣,在調試時(shí),我們就能方便簡(jiǎn)潔地打出變量的值,而不必寫(xiě) print('pi =',pi) 這樣重復的語(yǔ)句了。


             4. 反向迭代字典——順序


            現在 dict 和 dictview 可以使用 reversed() 按插入順序反向迭代。


             5. 新增模塊——metadata(元數據)


            新增的 importlib.metadata 模塊使你能夠從第三方包讀取元數據。例如,你能用代碼取得其他包的版本號之類(lèi)的信息。


             6. 在 finally 中使用 Continue


            由于在實(shí)現中存在問(wèn)題,之前在 finally 子句中不允許使用 continue 語(yǔ)句。在 Python 3.8 中這個(gè)限制已經(jīng)被取消了。



             一些思考


            請注意,本文并未提及Python3.8中新增的一些和普通程序員不太相關(guān)的高級特性(比如新的 pickle 協(xié)議,以及新的 multiprocessing.shared_memory 模塊等)。


            為如果你只是為了做些小項目,犯不著(zhù)為了那些概念費神。如果你真的好奇的話(huà),可以在這里看到完整的更新內容說(shuō)明:https://docs.python.org/zh-cn/3/whatsnew/3.8.html


            上面提到的 6 個(gè)新特性,就是本次 Python 3.8 更新中對新人(初學(xué)者)比較有用的部分啦。但還是順帶提個(gè)醒,在你切換到 Python 3.8之前,請確保已經(jīng)熟練掌握了最基礎的 Python 概念吧!


            祝編程愉快!



            關(guān)鍵字: Python 3.8 開(kāi)封晨展科技

            文章連接: http://www.gostscript.com/hyzx/680.html

            版權聲明:文章由 晨展科技 整理收集,來(lái)源于互聯(lián)網(wǎng)或者用戶(hù)投稿,如有侵權,請聯(lián)系我們,我們會(huì )立即刪除。如轉載請保留

            双腿国产亚洲精品无码不卡|国产91精品无码麻豆|97久久久久久久极品|无码人妻少妇久久中文字幕
                1.