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