官术网_书友最值得收藏!

Python是什么呢?簡單地說,Python是一門編程語言。它最初由Guido van Rossum于20世紀80年代末開發。Guido繼續積極參與并指導了語言的發展和演變,以至于他獲得了“仁慈的獨裁者(Benevolent Dictator for Life,BDFL)”的稱號。

Python是一個開源項目,你可以隨意下載和使用。

非營利性Python軟件基金會管理Python的知識產權,該組織在促進語言發展方面發揮著重要作用,并在某些情況下資助Python開發。

在技術層面上,Python是一門強類型的語言。這意味著語言中的每個對象都有一個確定的類型,通常沒有辦法規避該類型。同時,Python是動態類型的,這意味著在運行代碼之前,程序員無須對代碼進行類型檢查。這與靜態類型的語言(如C++或Java)相反,編譯器為你進行了大量的類型檢查,拒絕了濫用對象的程序。最終,Python使用鴨子類型,這是對Python類型系統的最貼切的描述,其中對象對上下文的適用性僅在運行時確定。我們將在第8章中更詳細地介紹這一點。

Python是一門通用編程語言。它不受限于任何特定的域或環境,可以有效地用于各種各樣的任務。當然還有一些領域,相比其他語言,Python不太適合,例如在極端的時間敏感或內存受限的環境中。但是在大多數情況下,Python與許多現代編程語言一樣靈活且可適應,甚至比大多數語言可能還要更好。

Python是一門解釋型語言。在技術上這樣說可能有點錯誤,因為Python在執行之前通常被編譯成特定格式的字節碼。但是,這個編譯是不可見的,在使用Python時,程序通常是立即執行代碼,而沒有明顯的編譯階段。編輯和運行之間沒有中斷,是使用Python的好兆頭之一。

Python的語法清晰、易讀,并且富有表現力。與許多流行的語言不同,Python使用空格來分隔代碼塊,并且在執行通用布局的過程中,會消除不必要的括號。這意味著所有Python代碼看起來都相似,你可以很快地學會閱讀Python。與此同時,Python的表達式語法意味著你可以在單行代碼中獲得很多信息。這種富有表現力且高可讀性的代碼意味著Python代碼的維護比較容易。

Python語言有多種實現。最初的并且仍然是最常見的實現是用C編寫的。這個版本通常被稱為CPython。當有人談論“運行Python”時,可以基本確定他們是在討論CPython,這也是我們將要在本書中使用的實現。

Python的其他實現:

  • Jython,編寫運行于Java虛擬機之上的代碼;
  • IronPython,編寫運行于.Net平臺之上的代碼;
  • PyPy,用一種名為RPython的語言來編寫,它是為開發動態語言(如Python)而設計的。

這些實現通常落后于CPython,CPython被認為是Python語言的“標準”。在本書中你學到的大部分內容適用于所有這些實現。

現在,有兩種重要的Python語言版本被使用:Python 2和Python 3。這兩個版本代表了Python語言的一些關鍵元素的變化,而針對一個版本編寫的代碼通常不適用于另外一個版本,除非你采取了特殊的預防措施。Python 2比Python 3更古老、更成熟,但 Python 3解決了舊版本中的一些已知的缺點。Python 3是Python的明確未來,你應該盡可能地使用它。

雖然Python 2和Python 3之間存在一些關鍵的區別,但兩個版本的大部分基本原理是一樣的。如果你學習了一個版本,那么你所知道的大部分知識都適用于另一個版本。在本書中,我們將學習Python 3,但是我們會在必要時指出Python 2和Python 3之間的重要區別。

除了作為一種編程語言,Python還提供了一個功能強大且用途廣泛的標準庫?!皟戎秒姵兀╞atteries included)”是Python哲學的一部分,這意味著你可以將Python立即用于現實世界中的許多復雜的任務,而無須安裝第三方軟件包。這不僅非常方便,而且意味著通過使用有趣的例子來開始學習Python是比較容易的——這也是本書的目標!

“內置電池”方法的另一個重要影響是,這意味著許多腳本甚至是一些復雜的腳本,都可以在任何安裝了Python的系統上立即運行。這樣可以清除一個常見的煩人障礙,即安裝軟件,你在使用其他語言時可能會面臨這個問題。

標準庫通常具有高水平的文檔。這些API有很好的文檔,并且模塊通常具有良好的敘述性說明文檔,包括快速入門指南、最佳實踐信息等。網上也提供了標準庫文檔,如果你需要,也可以將它安裝在本地。

由于標準庫是Python的重要組成部分,我們將在本書中介紹其中的部分內容。本書僅僅是涉獵了其中的一小部分,我們鼓勵你自己去進行探索。

最后,上面提到的那些關于Python的介紹都是不完整的,對許多人來說,Python代表了編寫代碼的哲學。清晰和易讀的原則是編寫正確或Python化的代碼的一部分。Python社區關心的是簡單性、可讀性和明確性等問題,這意味著Python代碼往往更加優雅!

許多Python的原則都體現在所謂的Python之禪中。“禪”不是一套硬性的規定,而是一組在編寫代碼時應該銘記于心的指南或者準則。當你發現自己試圖在幾個行動方案之間做出決定時,這些原則往往會給你一個正確的方向。我們將在本書中突出“Python之禪”中的元素。

Python是一門偉大的語言,我們很高興能幫助你開始使用它。當你讀完本書的時候,你將能夠編寫大量的Python程序,并且將能夠閱讀更復雜的Python程序。更重要的是,你將擁有牢固的Python基礎,并了解該語言中的更高級的主題,希望本書能夠真正做到讓你對Python充滿激情。Python是一門大型語言,其內置以及周邊構成了龐大的軟件生態系統,它提供了一場真正可以探索一切的冒險之旅。

歡迎來到Python!

現在,越來越多的項目在開發之初就支持Python3,甚至只支持Python3。

這本書的誕生之路有些曲折。2013年,當我們整合了挪威的軟件咨詢和培訓業務的Sixty North公司時,我們受到Pluralsight(一家在線視頻培訓材料出版商)的邀請,為快速增長的MOOC市場制作Python培訓視頻。當時,我們沒有制作視頻培訓材料的經驗,但我們相信自己肯定能做好??紤]到某些限制,我們希望認真且謹慎地構思Python的介紹性內容。例如,我們希望只用很少的前向引用,因為這些對讀者來說是非常不方便的。我們都深信圖靈獎獲得者Leslie Lamport的那句格言——“如果你只想不干,那你也僅僅是在空想”。因此,我們自然而然地首先為視頻課程產品編寫了一個腳本。

很快,我們編寫、錄制好了在線視頻教程——Python基礎,并且由Pluralsight發布,該課程持續多年廣受好評。從一開始,我們就認定以這些腳本為基礎可以編寫出一本書,不過可以很公正地說,我們低估了將腳本中的內容轉換成一本好書所需的努力。

本書就是轉化的成果。它可以用作獨立的Python教程,也可以作為我們的視頻課程的輔助工具,這具體取決于最適合你的學習方式。本書是三部曲中的第一本,該系列還包括The Python JourneymanThe Python Master。后兩本書對應于我們以后的Pluralsight課程Python–Beyond the Basics和Advanced Python。(即將推出!)

主站蜘蛛池模板: 江达县| 长葛市| 大同县| 彰武县| 峨眉山市| 达孜县| 本溪市| 额济纳旗| 抚松县| 镇坪县| 类乌齐县| 叙永县| 临沭县| 洛宁县| 临湘市| 信丰县| 陵水| 镇远县| 肇庆市| 肥西县| 灌南县| 吴江市| 龙里县| 磐石市| 瑞金市| 缙云县| 南溪县| 白水县| 平陆县| 自治县| 常山县| 灵川县| 定州市| 贡山| 甘孜| 政和县| 房产| 大港区| 安泽县| 江源县| 宁城县|