序章
- 關(guān)于python;
- 為什么選擇python來(lái)做數(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ā)行。
說(shuō)到這里,一個(gè)令初學(xué)者頭疼的問(wèn)題來(lái)了,選擇哪個(gè)版本呢?
通常提倡學(xué)習(xí)python3。一些新特性會(huì)很實(shí)用。
但是python2執(zhí)行起來(lái)會(huì)感覺(jué)更加流暢。
這篇教程主要以python3 為主。
python 特性
我們每學(xué)習(xí)一門編程語(yǔ)言,都會(huì)去關(guān)注其特性。了解編程語(yǔ)言的一些特性,有助于我們選擇合適的技術(shù)棧。
接下來(lái)我們來(lái)看看python擁有哪些特性。
- 解釋型編程語(yǔ)言。
- 多重泛型,例如:面向?qū)ο?、函?shù)式、命令式、過(guò)程式編程等等。
- 用途廣泛,可以快速開發(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)雅的語(yǔ)法 elegant syntax
- 動(dòng)態(tài)類型 dynamic typing(區(qū)別于靜態(tài)聲明)
- 強(qiáng)制縮進(jìn) (后續(xù)學(xué)習(xí)過(guò)程特別注意,縮進(jìn)層級(jí)錯(cuò)了會(huì)導(dǎo)致解釋器無(wú)法理解你寫的代碼)
- 垃圾回收機(jī)制
- 簡(jiǎn)單、易學(xué)、易用
- 跨平臺(tái)(樹莓派等嵌入式linux設(shè)備、esp8266、windows、osx、linux,32位和64位)
- 健壯
- 擁有健全的生態(tài)系統(tǒng)
為什么選擇python來(lái)做數(shù)據(jù)科學(xué)
我們已經(jīng)了解過(guò)python的特性,其中簡(jiǎn)單提到生態(tài)系統(tǒng)。
python擁有一套完善的生態(tài)系統(tǒng),擁有強(qiáng)大的科學(xué)棧(Scientific Stack)。
簡(jiǎn)單說(shuō),科學(xué)棧就是很多庫(kù)的集合,比如我們后續(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 有了簡(jiǎn)單認(rèn)識(shí)后,我們開始著手準(zhǔn)備實(shí)驗(yàn)環(huán)境。
在windows上安裝python
- 從 python官網(wǎng)獲取安裝文件(64位、32位)
-
以我的64位win10安裝過(guò)程為例
QQ截圖20170403231025.png
QQ截圖20170403231240.png
QQ截圖20170403231455.png
QQ截圖20170403231512.png
QQ截圖20170403232104.png
- 檢查環(huán)境變量是否生效,win鍵+R ==>>輸入 cmd 回車==>>依次執(zhí)行如下命令測(cè)試
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è)庫(kù)或多個(gè)庫(kù)的集合)
我們計(jì)劃后續(xù)邊學(xué)邊準(zhǔn)備我們自己的科學(xué)棧
先來(lái)安裝一個(gè)ipython吧,這里有必要簡(jiǎn)單介紹一下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。




