Python語言認識和實用工具(1)

玲瓏羽發表於2018-11-17

目錄

1. Python語言概述

  Python是一種計算機程式設計語言。是一種動態的、物件導向的指令碼語言,語言預設字尾為.py。經過多年發展,已經在系統程式設計網路爬蟲人工智慧科學計算系統運維WEB開發等多個領域廣泛應用。在網路爬蟲方面,Python的常用框架有grabscrapypyspider等多種網路爬蟲框架和爬蟲系統,在人工智慧方面有TensorFlowPyTorch等多種開發框架,在科學計算方面有諸如NumpyMatplotlibpandas等多項典型資料庫。在多個應用領域,Python不免與其他語言有所重疊,在整體程式碼執行效率上,可能不及C/C++Java 等語言,但是在語言入門難度上,Python要比其他語言要友好很多,而且隨著現在硬體更新換代,除非對程式碼執行非常苛刻的領域,在大眾應用領域,程式碼執行效率已相差不大。Python也被成為“膠水語言”(glue language),Python提供了豐富的—API和工具,因此編寫程式時可以輕鬆使用C/C++等語言來編寫擴充模組,同時Python編譯器本身也可以被整合到其他需要指令碼語言的程式內。

​ Python經過發展,現在已經更新到3.7.1版本,需要注意的是,在Python2.x和Python3.x語言已經存在很大差別,而且Python2.7將於2020年1月1日終止支援。

2. Python使用注意事項

  Python是解釋類語言,而諸如C/C++ 等為編譯類語言,這也是Python程式碼執行效率低的本質原因。基於上述考慮,Python在書寫規則上對程式碼的整潔,特別是縮排規則上要求就較為嚴格:

if age < 21:  
    print("這句話在if語句內執行,可看做是if的子語言")
print("這句話與if語句平級")

3. Python學習工具

  語言學習,選擇一個好的文字編輯器和IDE對今後學習是比較有幫助的。

  • 文字編輯器

      Windows自帶有notepad(記事本),開啟速度很快,但是對程式碼高亮和函式支援很差,因此不建議使用,當下比較實用的有notepad++sublimevscodeatom 等等。

    • notepad++體積小巧,能夠支援多種語言,而且開啟速度較快,支援中文,不過外掛較少。

      Notepad++

    • sublime介面美觀,多種語言支援,而且開啟速度很快,比notepad++要強大,有2.0和3.0版本,其中2.0免費,3.0付費,但是根據使用體驗,3.0其實偶爾提醒你購買,大家可以網上尋找破解,不過還是建議大家支援正版;另外sublime是個人開發,開發速度比較慢,而且對中文支援不是很友好。

      Sublime Text

    • vscode和atom分別是微軟和GitHub社群開發,背後都具有龐大的開發群體,因此軟體更新速度和外掛的豐富度都較前兩者要好很多,本人現在正在使用vscode,背靠微軟大山,因此文字編輯器具有較濃的微軟扁平化的風格,另外vscode可以當做一個小型的IDE,自己假如安裝有Python,通過定義Python檔案的位置,可以直接在編輯器內進行編譯,很方便,不過當外掛安裝較多時,編輯器開啟速度比較慢;atom依據GitHub,個人暫時沒有使用過,據網上說,atom比較佔記憶體,因此配置較低不建議使用。

      VScode Atom

  • IDE

      當下較為著名的IDE有Visual StudioPyCharmJuputerSpyder等,Visual Studio毋庸置疑,宇宙第一IDE,微軟開發,現在將要釋出19版本,功能強大,之前版本不支援Java,據說在新版本中將會支援,當然,安裝檔案佔據記憶體也是很大的,所以記憶體有限的同志請止步;PyCharm相對來說比較小巧,和Java開發IDE中的IntelJ 是一家產品,而且PyCharm對Python支援較好,在當下Python的開發者中比較流行,本人現在使用的就是PyCharm。需要注意,兩款IDE都是商業版軟體,收費,網上也可以找到破解,不過還是鼓勵大家支援正版;Jupyter是當下比較流行的網頁開發環境,網上也有相關的外掛安裝教程,很多程式命令也是基於ipynb格式(jupyter)預設格式,個人使用感覺,還是偏向於前兩者,因為Jupyter會是不是出現卡頓等情況,即出現int[*]的情況;Spyder和前面的Jupyter都可以通過安裝Anaconda獲得,據說比較擅長科學計算,具體功能特點暫時沒嘗試過,所以在此不進行贅述,個人有興趣可以自行查詢。

  • 個人學習路線

      個人喜好不同,可能會選擇不同的學習方法,此處介紹下我的學習路程,本人學習同時依靠書籍和視訊,書籍比較慢,但是比較系統,而且練習題較多,視訊速度快(此處指的是培訓視訊),但是知識點較碎,不利於知識系統的整體性把握,因此我是先大致過一遍書籍,然後在進一步觀看視訊,書籍內容基礎系統,因此理解難度不大,視訊內容難度係數較高,可以在對整體知識有個大致把握之後在進行拔高。無論是書籍還是視訊,內容相差不大,因此不必過多取查詢。

    我使用的書籍是《Python程式設計:從入門到實踐》,網上就可以找到,個人覺得講的很基礎,而且很系統;培訓視訊大家網上查詢,一般也都能在網上找到。

    總之,無論差異性多大,最終都應迴歸到學習->練習->總結->學習的迴圈中。

相關文章