Python 版本

概要
1.使用 Python2 ,不要使用 Python2.7 之前的版本匀钧;使用 Python3 翎碑,不要使用 Python3.4 之前的版本。
2.對同一份代碼之斯,不要為 Python2 和 Python3 分別維護(hù)分支日杈,應(yīng)充分使用 _future_ 庫,努力在一套代碼中兼容 Python2 和 Python3。

一. Python 語言的應(yīng)用場景

依據(jù) Python 官網(wǎng)給出的例子莉擒,Python 有以下幾個主要的應(yīng)用場景:

1. WEB 開發(fā)

Python 擁有諸多優(yōu)秀的 web 開發(fā)框架:Django Tornado Flask 酿炸,許多知名網(wǎng)站使用 Python 語言發(fā)開:豆瓣、知乎等涨冀。Python 作為 web 開發(fā)填硕,可以很好地滿足互聯(lián)網(wǎng)公司快速迭代的需求,另一方面 Python 語言用作 web 開發(fā)經(jīng)受住了大規(guī)模用戶并發(fā)訪問的考驗鹿鳖。

2. 用戶圖形接口

Python 標(biāo)準(zhǔn)庫提供了 tkInter 模塊支持GUI編程扁眯,此外也可以選擇 PyGObject PyQt PySIde Kivy wxPython等編寫你的GUI應(yīng)用。

3. 數(shù)值計算和科學(xué)計算

Python 語言已逐漸取代 MATLAB 成為數(shù)值計算和科學(xué)計算最受歡迎的編程語言翅帜,常用的第三方庫包含:numpy pandas scipy姻檀。

4. 系統(tǒng)管理

諸多使用廣泛、功能強(qiáng)大的系統(tǒng)管理工具都使用 Python 語言開發(fā):如云計算平臺 OpenStack涝滴,自動化部署工具 Ansible Salt绣版。

5. 其他

Python 的應(yīng)用領(lǐng)域非常廣泛,除此之外狭莱,你還可以使用 pygame 開發(fā)游戲僵娃,使用 PIL 庫處理圖片,以及使用 NLTK 進(jìn)行自然語言分析腋妙。

二. Python 語言的缺點

1. 執(zhí)行效率不夠快

Python 是解釋執(zhí)行的語言默怨,不如 C/C++ 等編譯型語言的執(zhí)行速度快。項目中骤素,我們會分離一部分需要優(yōu)化速度的應(yīng)用匙睹,將其轉(zhuǎn)換為編譯好的擴(kuò)展。

2. GIL鎖限制并發(fā)

GIL 是 Python 全局解釋器鎖(Global Interppreter Lock)济竹,當(dāng) Python 的默認(rèn)解釋器要執(zhí)行字節(jié)碼時痕檬,都需要先申請這個鎖。這意味著送浊,在使用多線程擴(kuò)展應(yīng)用程序時梦谜,將總是被這個全局解釋器鎖限制。這一設(shè)計源于歷史源于袭景,早期計算機(jī)的 CPU 均為單核唁桩,這個時候 GIL 起到了安全保護(hù)作用,隨著多處理器的普及耸棒,GIL 才成了 Python 的一個大問題荒澡。

另外,使用 Python 多線程處理 IO 密集型應(yīng)用是沒用問題的与殃,比如高延遲的網(wǎng)絡(luò)IO单山,磁盤讀寫IO碍现。因為 Python 解釋器在遇到 IO 等待時,會主動讓渡出 CPU 供其他線程使用米奸。

3. Python2 與 Python3 不兼容

如果一個普通的軟件或者開發(fā)者庫不能夠做到向后兼容昼接,那么定會被用戶無情拋棄。Python 最大的槽點就是 Python2 和 Python3 不兼容躏升,目前 Python2 已停止維護(hù)辩棒,因此如果是開始一個新的項目,請使用 Python3 進(jìn)行膨疏。

但很多公司的老項目一睁,仍使用的是 Python2,遷移需要一定的階段佃却,因此了解 Python2 與 Python3 的關(guān)鍵區(qū)別者吁,在工作中也是一項必不可少的技能。

三. 確認(rèn) Python 版本

很多 Linux 系統(tǒng)都預(yù)裝了多個版本的標(biāo)準(zhǔn) CPython 運行環(huán)境饲帅。在命令行中輸入 python 命令之后复凳,究竟執(zhí)行那個版本呢?可以使用 --version 來運行 python 命令灶泵,以確認(rèn)所使用的具體 Python 版本育八。

mia@ubuntu:~$ python --version
Python 2.7.17
mia@ubuntu:~$ python3 --version
Python 3.6.5

如果是運行程序的時候想確認(rèn) Python 版本,可以借助內(nèi)置的 sys 模塊查詢:

>>> import sys
>>> print sys.version
2.7.17 (default, Feb 27 2021, 15:10:58) 
[GCC 7.5.0]
>>> 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赦邻,一起剝皮案震驚了整個濱河市髓棋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌惶洲,老刑警劉巖按声,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異恬吕,居然都是意外死亡签则,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門铐料,熙熙樓的掌柜王于貴愁眉苦臉地迎上來渐裂,“玉大人,你說我怎么就攤上這事钠惩∑饬梗” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵妻柒,是天一觀的道長扛拨。 經(jīng)常有香客問我耘分,道長举塔,這世上最難降的妖魔是什么绑警? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮央渣,結(jié)果婚禮上计盒,老公的妹妹穿的比我還像新娘。我一直安慰自己芽丹,他們只是感情好北启,可當(dāng)我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拔第,像睡著了一般咕村。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蚊俺,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天懈涛,我揣著相機(jī)與錄音,去河邊找鬼泳猬。 笑死批钠,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的得封。 我是一名探鬼主播埋心,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼忙上!你這毒婦竟也來了拷呆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤晨横,失蹤者是張志新(化名)和其女友劉穎洋腮,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體手形,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡啥供,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了库糠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伙狐。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖瞬欧,靈堂內(nèi)的尸體忽然破棺而出贷屎,到底是詐尸還是另有隱情,我是刑警寧澤艘虎,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布唉侄,位于F島的核電站,受9級特大地震影響野建,放射性物質(zhì)發(fā)生泄漏属划。R本人自食惡果不足惜恬叹,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望同眯。 院中可真熱鬧绽昼,春花似錦、人聲如沸须蜗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽明肮。三九已至菱农,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間柿估,已是汗流浹背大莫。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留官份,地道東北人只厘。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像舅巷,于是被迫代替她去往敵國和親羔味。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容