序章
- 關(guān)于python;
- 為什么選擇python來做數(shù)據(jù)科學(xué)晾蜘;
- 準(zhǔn)備實(shí)踐環(huán)境邻眷;
千里之行,始于足下&
Python從零開始系列
關(guān)于Python
python是什么剔交?
Python is an easy to learn, powerful programming language --引自The Python Tutorial
python 歷史
20世紀(jì)80年代肆饶,荷蘭大神 Guido van Rossum 開始了python 的開發(fā)。從第一個(gè)發(fā)行版本python 0.9.0 發(fā)行于1991年岖常。
2008年驯镊,python 同時(shí)發(fā)行了python 2.6 和python 3.0 ,隨后python 2和python 3 并行開發(fā)和發(fā)行竭鞍。
說到這里板惑,一個(gè)令初學(xué)者頭疼的問題來了,選擇哪個(gè)版本呢偎快?
通常提倡學(xué)習(xí)python3冯乘。一些新特性會(huì)很實(shí)用。
但是python2執(zhí)行起來會(huì)感覺更加流暢晒夹。
這篇教程主要以python3 為主裆馒。
python 特性
我們每學(xué)習(xí)一門編程語言,都會(huì)去關(guān)注其特性丐怯。了解編程語言的一些特性喷好,有助于我們選擇合適的技術(shù)棧。
接下來我們來看看python擁有哪些特性读跷。
- 解釋型編程語言梗搅。
- 多重泛型,例如:面向?qū)ο笮Ю馈⒑瘮?shù)式无切、命令式、過程式編程等等丐枉。
- 用途廣泛订雾,可以快速開發(fā)、交互式代碼開發(fā)矛洞、構(gòu)建大型復(fù)雜應(yīng)用程序;既可以用于低級(jí)系統(tǒng)操作烫映,有可以用于復(fù)雜的分析任務(wù)沼本。
- 面向?qū)ο?object-oriented
- 高效的高級(jí)數(shù)據(jù)結(jié)構(gòu) efficient high-level data structures。
- 優(yōu)雅的語法 elegant syntax
- 動(dòng)態(tài)類型 dynamic typing(區(qū)別于靜態(tài)聲明)
- 強(qiáng)制縮進(jìn) (后續(xù)學(xué)習(xí)過程特別注意锭沟,縮進(jìn)層級(jí)錯(cuò)了會(huì)導(dǎo)致解釋器無法理解你寫的代碼)
- 垃圾回收機(jī)制
- 簡單抽兆、易學(xué)、易用
- 跨平臺(tái)(樹莓派等嵌入式linux設(shè)備族淮、esp8266辫红、windows凭涂、osx、linux,32位和64位)
- 健壯
- 擁有健全的生態(tài)系統(tǒng)
為什么選擇python來做數(shù)據(jù)科學(xué)
我們已經(jīng)了解過python的特性贴妻,其中簡單提到生態(tài)系統(tǒng)切油。
python擁有一套完善的生態(tài)系統(tǒng),擁有強(qiáng)大的科學(xué)棧(Scientific Stack)名惩。
簡單說澎胡,科學(xué)棧就是很多庫的集合,比如我們后續(xù)會(huì)一起學(xué)習(xí)的numpy娩鹉、scipy攻谁、matplotlib、pandas ……弯予。
其中的scipy實(shí)現(xiàn)了科學(xué)和金融中常用的重要功能戚宦。具體后續(xù)教程中一起學(xué)習(xí)。
對(duì)比java,python易學(xué)易用锈嫩,代碼可讀性很高受楼,免編譯。
對(duì)比nodejs,python 科學(xué)棧非常誘人祠挫。
對(duì)比matlab, python 的大部分科學(xué)棧是免費(fèi)的那槽。同時(shí)python有很多現(xiàn)成的科學(xué)計(jì)算套件非常方便(比如pandas,spider)
準(zhǔn)備實(shí)踐環(huán)境
在對(duì)python 有了簡單認(rèn)識(shí)后,我們開始著手準(zhǔn)備實(shí)驗(yàn)環(huán)境等舔。
在windows上安裝python
- 從 python官網(wǎng)獲取安裝文件(64位骚灸、32位)
-
以我的64位win10安裝過程為例
QQ截圖20170403231025.png
QQ截圖20170403231240.png
QQ截圖20170403231455.png
QQ截圖20170403231512.png
QQ截圖20170403232104.png
- 檢查環(huán)境變量是否生效撑帖,win鍵+R ==>>輸入 cmd 回車==>>依次執(zhí)行如下命令測試
python -V
pip -v
如果出現(xiàn)如下結(jié)果祟绊,恭喜你,python3.6.1版已經(jīng)被安裝到你的電腦上啦肝断。
Microsoft Windows [版本 10.0.14393]
(c) 2016 Microsoft Corporation蝶柿。保留所有權(quán)利丈钙。
C:\Users\ipaddr>python -V
Python 3.6.1
C:\Users\ipaddr>pip -V
pip 9.0.1 from d:\codelang\python36\lib\site-packages (python 3.6)
C:\Users\ipaddr>
選擇一款順手的文本編輯器
選擇一款帶代碼高亮甚至代碼提示的代碼編輯器,可以有效提高效率交汤。
這里推薦幾款
vscode 是微軟開源的一款輕量級(jí)代碼編輯器雏赦,適當(dāng)添加插件即可成為開發(fā)神器進(jìn)入官網(wǎng),點(diǎn)擊Download按鈕
準(zhǔn)備科學(xué)棧
這里主要演示如何使用pip 安裝 一些包(包可以是一個(gè)庫或多個(gè)庫的集合)
我們計(jì)劃后續(xù)邊學(xué)邊準(zhǔn)備我們自己的科學(xué)棧
先來安裝一個(gè)ipython吧芙扎,這里有必要簡單介紹一下ipython星岗,IPython 可以認(rèn)為是一個(gè)開發(fā)工具,類似于我之前提到的spyder.
pip install ipython
結(jié)果如下
C:\Users\ipaddr>pip install ipython
Collecting ipython
Downloading ipython-5.3.0-py3-none-any.whl (750kB)
100% |████████████████████████████████| 757kB 917kB/s
Collecting pygments (from ipython)
Downloading Pygments-2.2.0-py2.py3-none-any.whl (841kB)
100% |████████████████████████████████| 849kB 854kB/s
Collecting traitlets>=4.2 (from ipython)
Downloading traitlets-4.3.2-py2.py3-none-any.whl (74kB)
100% |████████████████████████████████| 81kB 2.5MB/s
Collecting colorama; sys_platform == "win32" (from ipython)
Using cached colorama-0.3.7-py2.py3-none-any.whl
Collecting simplegeneric>0.8 (from ipython)
Downloading simplegeneric-0.8.1.zip
Requirement already satisfied: setuptools>=18.5 in d:\codelang\python36\lib\site-packages (from ipython)
Collecting prompt-toolkit<2.0.0,>=1.0.4 (from ipython)
Downloading prompt_toolkit-1.0.14-py3-none-any.whl (248kB)
100% |████████████████████████████████| 256kB 1.7MB/s
Collecting decorator (from ipython)
Downloading decorator-4.0.11-py2.py3-none-any.whl
Collecting pickleshare (from ipython)
Downloading pickleshare-0.7.4-py2.py3-none-any.whl
Collecting ipython-genutils (from traitlets>=4.2->ipython)
Downloading ipython_genutils-0.2.0-py2.py3-none-any.whl
Collecting six (from traitlets>=4.2->ipython)
Using cached six-1.10.0-py2.py3-none-any.whl
Collecting wcwidth (from prompt-toolkit<2.0.0,>=1.0.4->ipython)
Downloading wcwidth-0.1.7-py2.py3-none-any.whl
Installing collected packages: pygments, ipython-genutils, decorator, six, traitlets, colorama, simplegeneric, wcwidth, prompt-toolkit, pickleshare, ipython
Running setup.py install for simplegeneric ... done
Successfully installed colorama-0.3.7 decorator-4.0.11 ipython-5.3.0 ipython-genutils-0.2.0 pickleshare-0.7.4 prompt-toolkit-1.0.14 pygments-2.2.0 simplegeneric-0.8.1 six-1.10.0 traitlets-4.3.2 wcwidth-0.1.7
C:\Users\ipaddr>
這樣我們就安裝好了ipython戒洼。從結(jié)果可以看到俏橘,新版本的pip已經(jīng)可以自動(dòng)安裝該package所依賴的package
后續(xù)我們會(huì)經(jīng)常這樣安裝package。