1. 程式人生 > >Python小白初次配置兼學習方法指引

Python小白初次配置兼學習方法指引

好早就想做這個,因為個人在Python群中還是比較活躍的,總是解答些同樣小白的問題還是很累的。

以後發個連結讓他們自己看好了。也能增加他們的自學能力(強行解釋一波)

廢話結束,開始正文:

首先說明下學習Python的路徑:

基礎->進階->第三方模組的學習->原始碼->寫自己的模組

再強行解釋一波,基礎是關鍵,我覺得,就算你已經熟練掌握了基礎,你再看三遍四遍也不算多;基礎熟練了以後工作事半功倍。強調一下,如果你出現各種奇葩錯誤自己搞不定,也不明白,八成是你基礎不牢。

學習方法:推薦看書,原因是因為書中對基礎的闡述比較詳細,就算不詳細,也比視訊強。看書不會像視訊一樣,急匆匆的,學點急著看下一知識點,記得不牢。

這裡推薦《Python基礎教程》,推薦原因:基礎講的不錯,另外總喜歡提一兩句其他的包,對於新手開拓視野比較有幫助。

再推薦一本《learning python with python2 and python3》,因為Python2和Python3有些區別,所以推薦這本書作為參考,當有困惑的時候可以看下。

最後是大招《官方文件》,官方文件分兩部分:python的官方文件,第三方的官方文件,這是最全,也最好用的文件了,你很難找到比這個還好的。另外大部分內建包都可以直接看文件學。

OK,以上只是大概路徑,從非常非常巨集觀的角度說明了學習的基本方向,不過在學完了基礎以後,自己對學習途徑也該有了自己的想法,沒必要按照固定路線走。(也就是以上說的路徑P用沒有)

Pyhon的安裝


Windows的安裝:到官網點選download下面的Windows,然後你會發現一大堆的連結,搞的你都不知道怎麼選。

         那麼這裡強行解釋一波:Windows就是適用於Windows系統,x86就是32位,x86-64就是64位,web-based就是需要從網路上獲取資料的安裝器,excutable就是exe安裝包,embeddable zip ,其實這是閹割版的Python,適用於嵌入式。我們學習為了避免不必要的困擾,我們選擇32位的Python(64位第三方包可能會報bug,不利於學習,除非你想學習解bug)

        下載完畢,雙擊執行,

        注意:安裝的時候請儘量選擇自定義路徑,因為新版的Python安裝路徑很奇葩,並不好找,對以後的學習不利,儘量選擇C:/Python35這種路徑。

                安裝的時候注意勾選四個選項:Tk, ez_install, pip, 新增Python到系統變數。當然你不勾也行,也可以自己裝,後面有介紹(不怕累的話)。

Mac OSX的安裝:

        基本同Windows,下載,雙擊,下一步下一步下一步,同樣注意勾選。

Linux的安裝:

        我只給Linux的程式碼,因為這玩意本身就不是小白用的,用linux的我相信你們的功底。

        Ps:注意先安裝Sqlite,ssl等再裝Python呦,否則。。。嘿嘿,在裝完Sqlite以後還得重灌Python。

wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz  
tar -zxvf Python-3.5.1.tgz  
cd Python-3.5.1  
./configure --prefix=/opt/python3  
make all  
make install  
make clean  
ln -s /opt/python3/bin/python3 /bin/python3  

Python第三方包的安裝

        什麼是第三方包:就是除了你和Python開發團隊的其他開發者所編寫的包,例如:numpy(矩陣陣列,線性代數中學的東西),matplotlib(簡易的圖表包),scipy(科學計算包)。

                pypi(Python Package Index)是Python團隊做的一個包的索引,絕大部分的實用包這裡都有收錄(雖然這裡不一定支援下載,但是會給出下載地址或者主頁)

                有時候我們發現下載的第三方包中引用了我們不認識的包,而這些包在pypi中也沒有,這些包去哪裡下載呢?  Github! 這裡是最大的開源社群,八成能在上面找到沒有提交到pypi的包。

        安裝一些安裝工具:east_install     pip(這兩個已經內建在Python新版安裝包裡面了,為了大家著想會在最後說明手動安裝)

        最簡單的安裝方式莫過於在命令提示符(terminal)中輸入 pip install xxx了,如:我想安裝numpy就輸入pip install numpy ,然後等著安裝完成或者安裝失敗的提示資訊就好了。因為這是在網路中找資源,所以必須聯網使用。

        找到的包的格式:

                .zip/.tar.gz/.rar/.7z  :解壓,如果裡面有setup.py的話那麼在CMD中執行 python setup.py install 等執行完畢就OK了,如果報錯看考後面的Python常見錯誤。

                .whl:直接 pip install xxx.whl就好了

                .exe:雙擊,然後下一步,選擇Python版本之後下一步

Python的編輯器

        Python的編輯器很多,什麼UE(Ultra Editor),VS(Visual Studio), Vim, PyScripter, Pycharm, Sublime, IDLE, 寫字板, NotePad++, eric, Spyder, Eclipse等等

        那麼哪個最好呢?我不敢說話,我只列舉幾個我用過的吧。

          IDLE:  Python自帶,很小,很輕量,可以裝外掛,很鍛鍊程式設計能力(我相信這個東西不是逼急了沒人會用的。)

          PyScripter: Google的,免費,比較小,比較輕量,補全不錯,幫助不錯,還帶除錯;缺點,停止維護,不支援Python3,無數bug,對執行緒管理不好(相信已經沒人用了)

          Sublime: 收費,但是不付費一樣使用,可以很好很強大一般方便(配了外掛以後,並不是太好配),不配就是一個寫字板。

          Eclipse: 加個外掛就能寫Python,還是很不錯的。

          Vim:Linux 寫Python的必備程式之一,配完外掛,用熟練了寫程式碼速度完爆其他IDE(UE和Notepad++表示不服)

          Pycharm:我見到的最強大的IDE,不用配就有很多強大的功能,另外有免費版足夠新手使用。

       建議新手:Pycharm community+Vim/UE;主要用Pycharm,另外選一款好移植的進行輔助。

       Pycharm下載完以後雙擊安裝就可以了。如果英語不好可以找找漢化外掛(雖然建議還是英語看的好)

Python寫視窗

        首先是內建的類:tkinter,功能少,它很小巧,打包以後也很小,能用它就不選其他的;本身不能視覺化佈局,有Gtk可以進行視覺化佈局(不太好找)

        WxPython:聽說不更新了?但是用的人還是蠻多的,聽說還挺好用(我沒用過)

        PyQt:快速開發,功能強大,當然代價是打包也很大- -

        新手從tkinter學起是沒有問題的,當然建議基礎好了再學寫視窗

Python打包成exe

        Py2exe: 很老的包,能不用就不用

        Pyinstaller:推薦的包,能打包成一個檔案,或者一個資料夾,有時候配置比較繁瑣。

        cx_freeze:也是推薦的,但是功能並不想Pyinstaller那樣全面。

Python 常見錯誤

        出現錯誤,首先要學會看報錯資訊(trace back),我們注重的有三點,需要仔細檢視:

            執行的錯誤資訊:最後一行

            執行的檔案的名字:第一行可能你執行的檔案不對,或者檔案命名有問題。

            追蹤執行的檔案以及執行的函式:中間的一系列錯誤資訊,指示了哪裡出錯,直接去那裡(或者上一行找bug)

        安裝包失敗:

            缺少support包:很多包是需要引用其他第三方包的,如果沒有該第三方包是沒有辦法安裝的,解決方法是安裝以後再試。或者直接pip,pip會自動安裝所有支援的包。

            安裝失敗:換個別的方法安裝吧,.exe很少出錯,或者直接拷貝過來試試能不能用。

            語法錯誤:檢查是不是下載錯了包,比如Python3的下載成了Python2的包,如果還是報錯,可以自行修改報錯位置,直到安裝成功(或者換其他安裝方式)

            找不到檔案:檢查自己的工作目錄是不是在正確位置。比如用python c:/download/numpy/setup.py install  替代python setup.py install

        執行失敗:

            沒有方法:檢視是不是沒import包。

            沒有包:  安裝對應包。

            包裡沒有方法: 檢視是不是自己的檔名字和第三方包衝突,因為自己檔案是優先於第三方包的;另外pyc(一種編譯的中間檔案)和pyd(動態庫檔案)也算在內;

            找不到檔案:檢視是否有該檔案,並檢視檔案路徑是不是用\轉義了。

            語法錯誤:自己查語法,經常出現在報錯那一句或者上一句。

編碼規範:

          參考PEP 8

手動安裝easy _install    pip

去pypi下載easy_setup

        解壓,python setup.py install

        https://pypi.python.org/packages/source/e/ez_setup/ez_setup-0.9.tar.gz 

去pypi下載pip

        解壓,python setup.py install

https://pypi.python.org/packages/source/p/pip/pip-8.1.2.tar.gz 

問問題:

Python社群都是很友善的,幫人的事情也很多,因為Python並不會浪費大家很多時間去Debug和Coding,QQ群是一個好選擇。

        StackOverFlow基本難解的問題都可以在這裡找到答案,甚至都不需要你在這裡提問這裡就有現成的解決方案,唯一的問題就是 英語。

        問問題是有技巧的。仔細看問問題的技巧,否則自己不爽別人也不爽,另外解決問題了,請說一聲謝謝,我先謝謝你看到這裡。

        對我來說,我希望報錯的人至少提供:報錯資訊(包括檔名和報錯當行和上行程式碼),執行方法,報錯現象。 執行環境什麼的可以後續有需要再提供。

              詢問學習方法的人提供:為什麼學?打算用多長時間,學到什麼程度;當然一般說想學到熟練運用我一般都不理(因為我都沒熟練運用啊- -!)。