1. 程式人生 > >Python 3.8 新特性預覽,解除一些不合法的語句,增加了一些用法

Python 3.8 新特性預覽,解除一些不合法的語句,增加了一些用法

 

對,你沒看錯,是Python3.8的新特性概覽。還沒有釋出,目前還在規劃階段。注意這是目前的草案,最終確定版本可能會有一些變化。


                學習Python中有不明白推薦加入交流群
                號:516107834
                群裡有志同道合的小夥伴,互幫互助,
                群裡有不錯的視訊學習教程和PDF!

新特性:編譯位元組碼可以單獨指定存放位置。

小編來解釋一下。Python在執行的時候會生成對應程式碼的編譯位元組碼檔案,就是我們常見的.pyc檔案。在Python3中,這些檔案被放置在跟對應程式碼同級目錄下的__pycache__資料夾下。在Python3.8中,我們將可以指定一個路徑,讓.pyc檔案全部按照對應程式碼的結構,放在我們指定的路徑下面,以此來實現程式碼和編譯位元組碼的分離。

你可以通過設定環境變數 PYTHONPYCACHEPREFIX 來指定這個生成路徑,你也可以在程式碼中使用 sys.pycache_prefix 來獲取這個生成路徑。

雖然還沒有看到最終的功能,但是這樣的特性描述讓小編不禁想,那將來是不是可以分發Python程式碼的時候可以只分發編譯位元組碼包,從而一定程度上提高了Python的安全性呢?

其他一些重點的改動

  • 以前 finally 中加 continue 語句是不合法的。這並不是一個原理上的要求,而是 Python 實現導致的限制。Python3.8 之後這個限制被移除了。
  • 正則表示式中增加了一種 N{name} 語法。
  • Dict 和 dictview 可以使用 reversed 方法來按照插入順序的倒序遍歷。
  • 函式呼叫中的關鍵字引數名,只允許使用一個變數名。以前可能出現的類似 f((keyword)=arg) 這類的寫法都將被禁止。
  • 在 yield 和 return 語句中允許使用可迭代物件解包。

更多改動的細節,請參考官方文件,地址為:

https://docs.python.org/3.8/whatsnew/3.8.html