Python3.7已經(jīng)發(fā)布了,目前Python的用戶,主要使用的版本應(yīng)該是Python3.6和Python2.7,那么是不是該轉(zhuǎn)到Python3.7呢?
首先大家要知道Python3.7是對Python3.6的升級。Python官方對3.7的新特性描述鏈接如下:
https://docs.python.org/3/whatsnew/3.7.html
我們最需要注意的是相對于3.6來說,3.7在語法上幾乎是完全兼容,除了如下這一點:
Backwardsincompatiblesyntaxchanges:
asyncandawaitarenowreservedkeywords.
這段話,指出了3.7的唯一不兼容3.6的地方就是async和await變成了Python語言中保留的關(guān)鍵字了。
什么意思?
就是async和await這兩個詞就像import,for,while這些詞一樣,是系統(tǒng)保留特殊用途的關(guān)鍵字。
也就是說在Python3.7里面你不能使用定義變量、函數(shù)之類的名字
比如,我像下面這樣定義變量和函數(shù):
async=1
defawait():
pass
使用Python3.6運行,沒有問題,而在Python3.7里面就會報如下錯誤
SyntaxError:invalidsyntax
如何選擇?
所以,如果項目目前使用的是Python3.6,而且項目又比較大的話,個人建議不用太著急轉(zhuǎn)到3.7上去。因為不知道你的項目代碼和依賴的第三方庫的代碼是不是做過3.7的兼容性測試,畢竟3.7剛剛出來不久。
3.7的pip執(zhí)行
pipinstallpsycopg2-binary
安裝就會失敗,提示Error:pg_configexecutablenotfound,而3.6的pip安裝就沒有問題。
所以,我們最好等到3.7被普遍使用了,再轉(zhuǎn)過去。
現(xiàn)在要轉(zhuǎn)到Python3.7,除非有你們項目特別渴望使用的Python3.7里面的新特性。如果是那樣的話,一定要做一個對老的代碼覆蓋比較充分的測試,防止上線運行的時候出現(xiàn)問題。
以上內(nèi)容為大家介紹了Python培訓(xùn)之如何選擇python版本?,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。