Python 3.7 已經發布了,目前Python的用戶,主要使用的版本 應該是 Python3.6 和 Python2.7 ,那麼是不是該轉到 Python 3.7 呢?
首先大家要知道Python 3.7 是 Python 3.6 的升級。 Python官方對3.7 的新特性:(建議學習:Python影片教學)
PEP 538, 預設解釋器的命令列介面將透過一個新的環境變數PYTHONCOERCECLOCALE自動在有可行的基於UTF-8的環境(如C.UTF-8,C.utf8和UTF-8)時轉換,取決於環境變數是否設定和其值。
PEP 539, 為CPython帶來了一個針對本地線程儲存的新C-API。 PEP 540, 加入了一個新的UTF-8模式,預設在POSIX相容的作業系統上開啟,可透過環境變數PYTHONUTF8 變更。
PEP 552, 為pyc格式檔案新增了一個基於雜湊值的原始碼檔案驗證。
PEP 553, 一個新增的內建函數breakpoint()讓你可以更方便的進入Python或自訂Debugger。
PEP 557, 一個新裝飾器Data Classes, 減少建立類別時所需的程式碼量,並可自動建立__init__,__repr__, 和 __eq__ 等方法。
PEP 560, 透過修改解釋器核心部分優化了typing模組和泛型類型。
PEP 562, 對模組屬性的自訂存取。
PEP 563, 透過延遲對註釋語句的分析從而優化Python的類型提示。
PEP 564, 為time模組新增支援傳回int整數形式的奈秒精確度方法。
PEP 565, 再一次預設在 __main__ 處顯示Deprecation Warning如SyntaxWarning, RuntimeWarning。
PEP 567,新增contextvars模組,透過上下文管理器以防止變數的狀態在並發程式碼中意外洩漏到其它程式碼。
更多詳情可去python官網查詢.
我們最需要注意的是相對於3.6 來說, 3.7 在語法上幾乎是完全兼容, 除瞭如下這一點:
Backwards incompatible syntax changes: async and await are now reserved keywords.
這段話,指出了3.7 的唯一不相容3.6 的地方就是async 和await 變成了Python語言中保留的關鍵字了。
什麼意思?
就是async和await這兩個字就像 import, for, while這些字一樣, 是系統保留特殊用途的關鍵字。
也就是說在Python 3.7 裡面你不能使用定義變數、函數之類的名字
更多Python相關技術文章,請造訪Python教學欄位進行學習!
以上是python3.6和3.7有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!