Python入門教程(如何學習電腦入門)
Python 英文本意為“蟒蛇”,直到 1989 年荷蘭人 Guido van Rossum (簡稱 Guido)發明了一種面向對象的解釋型編程語言(后續會介紹),并將其命名為 Python,才賦予了它表示一門編程語言的含義。
圖1Python 圖標
說到Python,它的誕生是極具戲曲性的,據Guido的自述記載,Python語言是他在圣誕節期間為了打發時間開發出來的,之所以會選擇Python作為該編程語言的名字,是因為Guido是一個叫Monty Python戲劇團體的忠實粉絲。
看似Python是“不經意間”開發出來的,但絲毫不比其它編程語言差。自1991年Python第一個公開發行版問世后,2004年Python的使用率呈線性增長,不斷受到編程者的歡迎和喜愛;2010年,Python榮膺 TIOBE 2010年度語言桂冠;2017年,IEEE Spectrum發布的2017年度編程語言排行榜中,Python位居第1位。直至現在(2021年8月份),根據TIOBE 排行榜的顯示,Python也居于前三,且有繼續提升的態勢(如表2所示)。
Python語言的特點
相比其它編程語言,Python具有以下特點。
1D Python簡單易學
“編程零基礎,可以學習Python嗎”,這是很多初學者經常問的一個問題。當然,計算機基礎越好,對學習任何一門新的編程語言越有利,但如果你在編程語言的學習上屬于零基礎,也完全不用擔心。
就我個人的觀點,Python作為學習編程的入門語言是再合適不過的,相比其他編程語言(比如Java),Python最大的優勢就是非常容易上手。舉個簡單的例子,如果完成一個功能,使用Java實現需要100行代碼,那么使用Python可能只需要20行。
有人可能會問,將 C 語言作為入門語言不好嗎?就目前的就業形勢來說,僅掌握 C 語言是很難找到高薪的工作的,而掌握 Python 則不同。
并且,在使用其他編程語言編程時(例如C、C++),你需要時刻注意數據類型、內存溢出、邊界檢查等問題。而Python則不用,因為在底層實現時,它已經幫你—一處理好了。
2> Python功能強大
Python強大的功能是很多用戶支持Python的最重要的原因,從字符串處理到復雜的3D 圖形編程,Python借助擴展模塊都可以輕松完成。
實際上,Python的核心模塊已經提供了足夠強大的功能,使用Python精心設計的內置對象可以完成許多功能強大的操作。Python的社區也很發達,即使一些小眾的應用場景,Python往往也有對應的開源模塊來提供解決方案。
3) Python是解釋型語言
編程語言按照程序的執行方式,可以分為編譯型和解釋型兩種,典型的編譯型語言有C.C++等.而解釋型語言有Java、Python等。相比編譯型語言,解釋型語言最大的優勢就是可移植性強。也就是說,Python具有非常好的跨平臺的特性。
4) Python是面向對象的編程語言
Python既支持面向過程編程,也支持面向對象編程。在“面向過程”的語言中(如C語言),程序僅僅是由可重用代碼的函數構建起來的;而在“面向對象”的語言(如C++)中,程序是由數據和功能組合而成的對象構建起來的。而且和其它面向對象的編程語言(如C++和Java)相比,Python是以一種非常強大,而又簡單的方式實現的面向對象編程。
除此之外,Python還有開源、有良好的可擴展性等特點。基于以上這些特性,Python廣泛應用在人工智能、圖像處理、Web應用開發、自動化運維、網絡爬蟲等領域。
Python版本的選擇
Python自發布以來,共歷經了3個大的版本,分別是:
3個版本中,Python 3.0是一次重大的升級,為了避免引入歷史包袱,Python3.0沒有考慮與Python 2.x的兼容,這也就導致很長時間以來,Python2.x的用戶不愿意升級到 Python 3.0。
除此之外,造成目前這種狀況的另一個原因是,將現有應用從Python 2.x遷移到Python 3.x是一項不小的挑戰。雖然有2to3(后續會介紹)之類的工具可以進行代碼的自動轉換,但無法保證轉換后的代碼100%正確。而且,如果不做人工修改的話,轉換后的代碼性能可能還不如轉換前。因此,將現有的復雜代碼庫遷移到Python 3.x上可能需要付出巨大的精力和成本,某些公司無法負擔這些成本。
目前,根據統計顯示,使用 Python 2.x的開發者仍占63.7%,而Python3.x的用戶占36.3%,由此可見,使用Python2.x的用戶還是占多數。在2014年,Python創始人宣布,將Python 2.7支持時間延長到2020。
那么,初學者應該選擇什么版本呢?這里建議大家選擇Python3.x版本,理由有以下幾點:
·使用 Python 3.x已經是大勢所趨目前,雖然使用Python 2.x的開發者居多,但使用Python 3.x的開發者正在迅速增加,如圖1所示:
圖1Python 3.x是大勢所趨
根據PEP-404這份文檔,
Python 2.x版本將不會再發布2.8版本,且未來非常重要的項目(如Django、Flask和 Numpy)可能都將放棄對2.x的支持,僅支持Python 3.x。因此,從長遠來看,學習Python 3.x只有好處。
?Python 3.x在Python 2.x的基礎上做了功能升級
Python 3.x對 Python 2.x的標準庫進行了一定程序的重新拆分和整合,比Python 2.x更容易理解,特別是在字符編碼方面。Python 2.x中對于中文字符串的支持性能不夠好,需要編寫單獨的代碼對中文進行處理,否則不能正確顯示中文,而Python 3.x已經將該問題成功解決了。
?Python 3.x和 Python 2.x思想基本是共通的
Python 3.x和 Python 2.x思想基本上是共通的,只有少量的語法差別,學會的Python 3.x,只要稍微花點時間學習Python2.x的語法,即可靈活運用這兩個不同版本了。
注意,選擇Python 3.x也不是沒有弊端,很多擴展庫的發行總是會滯后于Python的發行版本,甚至目前還有很多庫不支持Python 3.x。
因此,在選擇Python時,一定要先考慮清楚自己的學習目的,比如說,打算做哪方面的開發,此方向需要用法哪些擴展庫,以及這些擴展庫支持的最高Python版本等,明確這些問題后,再選擇適合自己的版本。
關于Python 3.x和 Python 2.x具體的區別,可閱讀《Python3和Python2區別》一節。
初學者應該如何學習Python?
對于初學者來說,要做的就是專注于Python這一門語言,明確學習的重點,把握好學習節奏,由淺入深循序漸進地學習。根據本人多年的學習工作經驗,把編程語言的學習分為以下3步,無論你是否有編程基礎,都可以對照著來做。
1)多實踐,積累代碼量
任何一門編程語言,其囊括的知識面都是非常廣泛的,從基本的變量賦值、條件循環、到文件操作、并發編程等。但是,千萬不要等到把所有知識點都學完了才開始練習,因為到那時你會發現,前面好不容易記住的知識都忘記了。
學習編程,是十分講究實戰的,沒有捷徑可走,越早練習,練得越多越勤,學習效果就越好。
2)時刻注意代碼規范
學習編程語言,在追求快和高效的同時,每一種編程語言都有必要的編碼規范,一定不能忽略。
要想成為一名優秀的程序員,從起步階段就要刻意地去培養自己的編程規范。例如,在剛開始編寫代碼時,不要將原本多行的代碼全部寫到一行,也不要隨便用a、b、c等字母作為變量的名稱。
3)開發經驗是必不可少的
要想真正熟練地掌握Python(或者其它編程語言),擁有大中型產品的開發經驗是必不可少的,它會讓你站得更高,望得更遠。
例如,我們幾乎每天都會用搜索引擎,但你了解一個搜索引擎的服務器端實現
例如,我們幾乎每天都會用搜索引擎,但你了解一個搜索引擎的服務器端實現嗎?這是一個典型的面向對象設計,需要定義一系列相關的類和函數,還要從產品需求、代碼復雜度、效率以及可讀性等多個方面綜合考量,同時在上線后還要進行各種優化等。
為了輔助大家更好地學習Python,這里準備了一章Python學習的知識圖譜,涵蓋了Python的核心知識。
所有的python學習資料已經給大家打包好~~~
