丝袜人妻一区二区三区_少妇福利无码视频_亚洲理论片在线观看_一级毛片国产A级片

當前位置:首頁 > 奇聞趣事

python版本 解釋 Python 2 和 Python 3 的版本之間差別

向前

Python是一種可讀性很強、用途廣泛的編程語言。Python這個名字的靈感來源于英國喜劇團體蒙蒂·Python。它的開發(fā)團隊有一個重要的基本目標,就是讓語言變得有趣。Python易于設置,編寫風格相對直接,對錯誤和誤解提供即時反饋,是初學者的好選擇。

Python是一種多范式語言,即支持多種編程風格,包括腳本和面向對象,這使得它適合一般用途。隨著聯(lián)合泰空聯(lián)盟(NASA的主要飛機支持承包商)和工業(yè)光魔(VFX和盧卡斯影業(yè)的動畫工作室)等組織越來越多地在工業(yè)中使用Python,Python為那些尋求額外編程語言的人提供了巨大的潛力。

Python于20世紀80年代末開發(fā),并于1991年首次出版,由吉多·范·羅蘇姆創(chuàng)建,他仍然活躍在社區(qū)中。被認為是ABC編程語言的繼承者,Python第一版已經(jīng)包含了異常處理、函數(shù)和具有繼承性的類。1994年一個叫comp.lang.python的重要python新聞組成立時,Python的用戶基數(shù)不斷增長,為Python成為開源開發(fā)中最流行的編程語言之一鋪平了道路。

概述

在討論Python 2和Python 3之間潛在的和關鍵的編程差異之前,讓我們看看最近主要Python版本的背景。

Python 2

Python 2于2000年底發(fā)布,這意味著它是一個比前一個版本更清晰、更包容的語言開發(fā)過程。之前版本的Python應用了PEP (Python增強協(xié)議),可以為Python社區(qū)成員提供信息或者描述語言的新特性。

此外,Python 2還包含了更多的程序功能,包括可以自動管理內(nèi)存的循環(huán)檢測垃圾收集器、增加對Unicode的支持以標準化字符、采用列表合成以現(xiàn)有列表為基礎創(chuàng)建列表。隨著Python 2的發(fā)展,增加了更多的功能,包括在Python 2.2中將Python類型和類統(tǒng)一到一層。

Python 3

Python 3被認為是Python的未來,Python是目前正在開發(fā)的語言版本。作為一項重大改革,Python 3于2008年末發(fā)布,旨在解決和糾正以前語言版本固有的設計缺陷。Python 3開發(fā)的重點是清理代碼庫,去除冗余,這清楚地表明執(zhí)行給定任務的方式只有一種。

對Python 3.0的主要修改包括將print語句改為內(nèi)置函數(shù),改進整數(shù)分區(qū)的方式,以及提供更多對Unicode的支持。

起初,Python 3的采用很慢,因為該語言與Python 2不向后兼容,這需要人們決定使用該語言的哪個版本。另外,很多打包的庫只適用于Python 2,但是因為Python 3背后的開發(fā)團隊重申終止對Python 2的支持,更多的庫被移植到Python 3。從支持Python 3的Python包數(shù)量來看,Python 3被采用的越來越多。在撰寫本文時,支持Python 3的包已經(jīng)包含了339個最流行的Python包。

Python 2.7

2008年Python 3.0發(fā)布后,Python 2.7于2010年7月3日發(fā)布,計劃成為2.x的最后一個版本,發(fā)布Python 2.7的目的是提供一些衡量Python 2.x與Python 3兼容性的措施。這種兼容性支持包括2.7版的增強模塊,例如用于測試自動化的unittest、用于解析命令行選項的argparse以及更方便的集合類。

Python 2.7在Python 2和Python 3.0之間具有早期迭代版本的獨特地位。由于它與許多健壯庫的兼容性,它一直是程序員非常受歡迎的選擇。我們今天討論Python 2的時候,通常指的是Python 2.7,因為它是最常用的版本。

但Python 2.7被認為是遺留語言,其后續(xù)開發(fā),包括最重要的bug修復,將在2020年徹底停止。

主要差異

雖然Python 2.7和Python 3有很多相似的功能,但不應該認為它們是完全可以互換的。雖然在任何版本中都可以寫出優(yōu)秀的代碼和有用的程序,但是值得知道的是,在代碼語法和處理上會有一些相當大的差異。

下面舉幾個例子,大家要記住,深入學習Python,可能會遇到更多的語法差異。

在Python 2中,print被視為語句而不是函數(shù),這是一個典型的混淆之處,因為Python中的很多操作都需要括號中的參數(shù)才能執(zhí)行。如果您希望您的控制臺在Python 2中輸出“鯊魚薩米是我最喜歡的海洋生物”,您應該編寫如下打印語句:

在使用Python 3時,print()被明確視為一個函數(shù),所以要輸出上面相同的字符串,可以使用這個非常簡單易用的函數(shù)語法:

這一改變使得Python的語法更加一致,也更容易在不同的打印功能之間切換。從方便性來說,print()語法也是向后兼容Python 2.7的,所以你的Python 3 print()函數(shù)可以在任何版本下運行。

整數(shù)除法

在Python 2中,你鍵入的任何沒有小數(shù)的數(shù)字都會被認為是整數(shù)編程類型。雖然乍一看這似乎是處理編程類型的一種簡單方法,但有時當您試圖用整數(shù)除來獲得帶小數(shù)位(稱為浮點數(shù))的答案時,例如:

但是在Python 2中,整數(shù)是強類型的,不會變成有小數(shù)位的浮點數(shù),即使這樣做有直觀意義。

當除法/符號兩側的兩個數(shù)字是整數(shù)時,Python 2執(zhí)行底部除法,以便對于商x,返回的數(shù)字是小于或等于x的最大整數(shù)。這意味著當您編寫5/2來除法這兩個數(shù)字時,Python 2.7將返回小于或等于2.5的最大整數(shù)。在這種情況下:

要解決這個問題,可以在5.0/2.0中加小數(shù)位,得到預期答案2.5。

在Python 3中,整數(shù)除法變得更加直觀,例如

您也可以使用5.0/2.0返回到2.5,但是如果您想成為底層分區(qū),您應該使用類似“//”的Python 3語法,如下所示:

Python 3中的這種修改使得整數(shù)除法更加直觀,并且具有向后兼容Python 2.7的特點。

Unicode支持

當一種編程語言處理字符串類型,即一系列字符時,它們可以用幾種不同的方式來完成,這樣計算機就可以將數(shù)字轉換成字母和其他符號。

Python 2默認使用ASCII字母,所以當你輸入“你好,薩米!”Python 2將處理ASCII格式的字符串。受到各種擴展形式的數(shù)百個字符的限制,ASCII不是一種非常靈活的字符編碼方法,尤其是在使用非英語字符的情況下。

要使用更通用、更強大的Unicode字符編碼(支持超過128,000個字符,跨越當前和歷史的腳本和符號集),您必須輸入

,前綴u代表Unicode。

Python 3默認使用Unicode,節(jié)省了程序員額外的開發(fā)時間,并且可以很容易地在程序中直接鍵入和顯示更多的字符。Unicode支持更強的語言字符多樣性和表情顯示,因此將其用作默認字符編碼可以確保世界各地的移動設備都可以在您的開發(fā)項目中得到支持。

如果您希望您的Python 3代碼向后兼容Python 2,您可以通過在字符串前面留下“u”來實現(xiàn)這一點。

后續(xù)開發(fā)

Python 3和Python 2最大的區(qū)別不是語法,而是Python 2.7在2020年會失去后續(xù)支持,Python 3會繼續(xù)開發(fā)更多的功能,修復更多的錯誤。

最近的發(fā)展包括格式化字符串、簡單的類創(chuàng)建定制和更簡潔的矩陣乘法語法。

Python 3的后續(xù)開發(fā)意味著開發(fā)人員可以有信心及時解決問題,隨著時間的推移,會增加更多的功能,程序也會變得更加有效。

其他注意事項

作為一個入門Python的新手程序員,或者說作為一個有經(jīng)驗的程序員,你會考慮自己在語言學習中想要達到的目標。

如果你想只學習不設置項目,你最有可能考慮Python 3會得到后續(xù)的支持和開發(fā),而Python 2.7不會。

但是,如果您計劃加入一個現(xiàn)有的項目,您很可能想知道團隊正在使用的Python版本,以及項目中使用的軟件包是否支持不同的版本,不同的版本應該如何與舊的代碼庫交互,以及項目的實現(xiàn)細節(jié)。

如果您正在打開一個項目,您將希望調查哪些包可以使用,以及這些包與哪個版本的Python兼容。如上所述,雖然Python 3的早期版本與為Python 2版本構建的庫不太兼容,但許多庫已經(jīng)移植到Python 3,或者承諾在未來四年內(nèi)移植到Python 3。

結論

Python是一種多才多藝的好編程語言。無論選擇Python 2還是Python 3,都可以做出一些令人興奮的軟件項目。

雖然有幾個關鍵的區(qū)別,但是從Python 3跳轉到Python 2做一些調整也不是太難,而且你經(jīng)常會發(fā)現(xiàn)Python 2.7很容易運行Python 3的代碼,尤其是剛入門的時候。

重要的是要記住,隨著越來越多的開發(fā)人員和團隊關注Python 3,語言將變得更加復雜,滿足程序員不斷變化的需求,對Python 2.7的支持將越來越少。

[飛馬俱樂部]

飛馬俱樂部

1.《python版本 解釋 Python 2 和 Python 3 的版本之間差別》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《python版本 解釋 Python 2 和 Python 3 的版本之間差別》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。

3.文章轉載時請保留本站內(nèi)容來源地址,http://f99ss.com/guonei/1616258.html

上一篇

晚上睡覺鼻子不通氣小妙招 寶寶睡覺鼻子不通氣小妙招,寶寶為什么晚上鼻子不通白天沒事

下一篇

下蠱是什么意思 下降頭有科學依據(jù)嗎,傳說中的下降頭和下蠱是一個意思嗎

大天狗副本 陰陽師當前版本必練的四個輸出式神,大天狗上榜,他號稱副本殺手

  • 大天狗副本 陰陽師當前版本必練的四個輸出式神,大天狗上榜,他號稱副本殺手
  • 大天狗副本 陰陽師當前版本必練的四個輸出式神,大天狗上榜,他號稱副本殺手
  • 大天狗副本 陰陽師當前版本必練的四個輸出式神,大天狗上榜,他號稱副本殺手

嬰兒說話時間 寶寶語言發(fā)育的時間,俗話說的一般什么時候會說話?

  • 嬰兒說話時間 寶寶語言發(fā)育的時間,俗話說的一般什么時候會說話?
  • 嬰兒說話時間 寶寶語言發(fā)育的時間,俗話說的一般什么時候會說話?
  • 嬰兒說話時間 寶寶語言發(fā)育的時間,俗話說的一般什么時候會說話?

小孩什么時候會說話 寶寶語言發(fā)育的時間,俗話說的一般什么時候會說話?

  • 小孩什么時候會說話 寶寶語言發(fā)育的時間,俗話說的一般什么時候會說話?
  • 小孩什么時候會說話 寶寶語言發(fā)育的時間,俗話說的一般什么時候會說話?
  • 小孩什么時候會說話 寶寶語言發(fā)育的時間,俗話說的一般什么時候會說話?

寶寶什么時候會說話 寶寶語言發(fā)育的時間,俗話說的一般什么時候會說話?

  • 寶寶什么時候會說話 寶寶語言發(fā)育的時間,俗話說的一般什么時候會說話?
  • 寶寶什么時候會說話 寶寶語言發(fā)育的時間,俗話說的一般什么時候會說話?
  • 寶寶什么時候會說話 寶寶語言發(fā)育的時間,俗話說的一般什么時候會說話?
1是什么意思網(wǎng)絡語言 【網(wǎng)絡素養(yǎng)100問】什么是網(wǎng)絡語言?

1是什么意思網(wǎng)絡語言 【網(wǎng)絡素養(yǎng)100問】什么是網(wǎng)絡語言?

很多網(wǎng)民在上網(wǎng)的時候,經(jīng)常會遇到一些網(wǎng)絡語言,有些是網(wǎng)絡專業(yè)術語,有些是網(wǎng)民習慣在網(wǎng)上使用的一些語言的表達。這些話對于網(wǎng)絡居民來說并不是問題,但對于一些中老年用戶來說卻是莫名其妙,有時會增加他們對網(wǎng)絡的陌生感和不適感。理解這些語言可以幫助這些用戶減少距離感,增加他們接近和使用網(wǎng)絡的信心。...

九陰風物志 玩家可以免費穿風物志?《九陰真經(jīng)》新版本新玩法揭秘

  • 九陰風物志 玩家可以免費穿風物志?《九陰真經(jīng)》新版本新玩法揭秘
  • 九陰風物志 玩家可以免費穿風物志?《九陰真經(jīng)》新版本新玩法揭秘
  • 九陰風物志 玩家可以免費穿風物志?《九陰真經(jīng)》新版本新玩法揭秘

九陰真經(jīng)風物志 玩家可以免費穿風物志?《九陰真經(jīng)》新版本新玩法揭秘

  • 九陰真經(jīng)風物志 玩家可以免費穿風物志?《九陰真經(jīng)》新版本新玩法揭秘
  • 九陰真經(jīng)風物志 玩家可以免費穿風物志?《九陰真經(jīng)》新版本新玩法揭秘
  • 九陰真經(jīng)風物志 玩家可以免費穿風物志?《九陰真經(jīng)》新版本新玩法揭秘

魚玩游戲 魚玩游戲:LOL版本最強上單換英雄了

  • 魚玩游戲 魚玩游戲:LOL版本最強上單換英雄了
  • 魚玩游戲 魚玩游戲:LOL版本最強上單換英雄了
  • 魚玩游戲 魚玩游戲:LOL版本最強上單換英雄了