我的Python學(xué)習(xí)之路

簡單算來,接觸Python有些時日了拯辙。想要做個簡單的總結(jié)郭变,算是為想要入門Python的童鞋做一個簡單的介紹吧。

什么是Python

Python涯保,是一種面向?qū)ο?/a>诉濒、直譯式計算機程序語言。它包含了一組功能完備的標(biāo)準(zhǔn)庫夕春,能夠輕松完成很多常見的任務(wù)未荒。它的語法簡單,與其它大多數(shù)程序設(shè)計語言使用大括號不一樣及志,它使用縮進來定義語句塊片排。
SchemeRuby速侈、Perl划纽、Tcl動態(tài)語言一樣,Python具備垃圾回收功能锌畸,能夠自動管理內(nèi)存使用勇劣。它經(jīng)常被當(dāng)作腳本語言用于處理系統(tǒng)管理任務(wù)和網(wǎng)絡(luò)程序編寫,然而它也非常適合完成各種高級任務(wù)。Python虛擬機本身幾乎可以在所有的作業(yè)系統(tǒng)中運行比默。使用一些諸如py2exe幻捏、PyPyPyInstaller之類的工具可以將Python源代碼轉(zhuǎn)換成可以脫離Python解釋器運行的程序。
Python的官方解釋器是CPython,該解釋器用C語言編寫口锭,是一個由社區(qū)驅(qū)動的自由軟件完沪,目前由Python軟件基金會管理绽乔。
Python支持命令式程序設(shè)計面向?qū)ο蟪绦蛟O(shè)計函數(shù)式編程面向側(cè)面的程序設(shè)計沛善、泛型編程多種編程范式。
---引用自中文維基百科

簡而言之塞祈,Python是一門語法簡單金刁,功能強大有豐富第三方支持的動態(tài)高級編程語言议薪。在最新的TIOBE編程語言排行榜上尤蛮,Python僅位于Java,C++斯议,C产捞,C#之后,排名高居第五哼御,且排名一直在上升(1996年24位坯临,2006年6位,2016年10月排名升至第5位)艇搀。在Google Trends的搜索排名上尿扯,Python也和Java求晶,C等傳統(tǒng)意義上的主流語言越來越接近焰雕。

為什么選擇Python

在我看來,至少有以下原因使我們選擇Python:

  1. 語法簡單芳杏,相比去大多數(shù)語言用花括號區(qū)分語句塊矩屁,Python選擇用縮進來作為語意單元的分隔,由于豐富的內(nèi)建數(shù)據(jù)結(jié)構(gòu)和強大的第三方擴展庫爵赵,Python可以寫出比較簡潔的代碼(至少在代碼量上會優(yōu)于大多數(shù)語言)吝秕。
    下面以快速排序作為一個例子來簡單比較一個對于同一個問題,Python和Java空幻,C烁峭,C++之間的代碼量差距。
    C版本
void sort(int *a, int left, int right)
{
    if(left >= right)
    {
        return ;
    }
    int i = left;
    int j = right;
    int key = a[left];
     
    while(i < j)                               
    {
        while(i < j && key <= a[j])
        {
            j--;
        }
        a[i] = a[j];
        while(i < j && key >= a[i])
        {
            i++;
        }
         
        a[j] = a[i];
    }
     
    a[i] = key;
    sort(a, left, i - 1);
    sort(a, i + 1, right);
}

C++版本

include <iostream> 
using namespace std;
void Qsort(int a[], int low, int high)
{
    if(low >= high)
    {
        return;
    }
    int first = low;
    int last = high;
    int key = a[first];
 
    while(first < last)
    {
        while(first < last && a[last] >= key)
        {
            --last;
        }
 
        a[first] = a[last];
 
        while(first < last && a[first] <= key)
        {
            ++first;
        }
         
        a[last] = a[first];    
    }
    a[first] = key;
    Qsort(a, low, first-1);
    Qsort(a, first+1, high);
}
int main()
{
    int a[] = {57, 68, 59, 52, 72, 28, 96, 33, 24};
 
    Qsort(a, 0, sizeof(a) / sizeof(a[0]) - 1);
 
    for(int i = 0; i < sizeof(a) / sizeof(a[0]); i++)
    {
        cout << a[i] << "";
    }
     
    return 0;
}

Java版本

private<TextendsComparable<?superT>>
voidquickSort(T[]targetArr,intstart,intend)
{
inti=start,j=end;
Tkey=targetArr[start];
while(i<j)
{
while(j>i&&targetArr[j].compareTo(key)>=0)
{
j--;
}
if(i<j)
{
targetArr[i]=targetArr[j];
i++;
}
while(i<j&&targetArr[i].compareTo(key)<=0)
{
i++;
}
if(i<j)
{
targetArr[j]=targetArr[i];
j--;
}
}
targetArr[i]=key;
this.quickSort(targetArr,start,i-1);
this.quickSort(targetArr,j+1,end);
}

最后,來看看Python版本

def qsort(seq): 
    if seq==[]: 
        return [] 
    else: 
        pivot=seq[0] 
        lesser=qsort([x for x in seq[1:] if x<pivot]) 
        greater=qsort([x for x in seq[1:] if x>=pivot]) 
        return lesser+[pivot]+greater

至少在上面這個例子當(dāng)中约郁,Python在簡潔上還是有一定的優(yōu)勢的缩挑。簡潔和縮進帶來的直接優(yōu)勢就是代碼的可讀性提高(這也是我要說的Python的第二點優(yōu)勢),Python里有很多開源框架的代碼量都不大鬓梅,這為大多數(shù)人通過源代碼來學(xué)習(xí)帶來了方便供置。

  1. 由于python的設(shè)計哲學(xué)就是“以最優(yōu)雅,明確绽快,簡單的方法解決問題”芥丧,所以大多數(shù)Python代碼的實現(xiàn)都是簡單易讀,也就是常說的Pythonic寫法坊罢。

3.廣闊的應(yīng)用范圍

  • Web后端 目前常見的Python web后端框架包括Django续担,flaskPyramid艘绍,web.py赤拒,Tornado等,目前使用Python作為后臺開發(fā)語言的網(wǎng)站有Gmail诱鞠,YouTube挎挖,Reddit,Spotify航夺,DropBox等蕉朵,國內(nèi)的網(wǎng)站有知乎,豆瓣阳掐,餓了么始衅,Bilibili等

  • 自動化運維 也就是時下比較火的DevOps的概念,相關(guān)的工具庫包括:psutil缭保,Ipy汛闸,dnspython,pexpect艺骂,paramiko诸老,fabric等

  • 數(shù)據(jù)分析師 大數(shù)據(jù)時代,不會做一點數(shù)據(jù)分析怎么說的過去钳恕?python本身就可以很方便的對excel進行讀寫(xrlt)别伏,除此之外,python還有很多強大的數(shù)據(jù)處理庫忧额,比如Scipy厘肮,Numpy,pandas睦番,Dato GraphLab等等类茂。在數(shù)據(jù)處理領(lǐng)域,python的地位和R不相上下。

  • 網(wǎng)絡(luò)爬蟲 從基礎(chǔ)款的urllib巩检,request恬涧,到selenium,再到比較成熟的Scrapy碴巾,pySpider Python在爬蟲上給了很多可供選擇的方案

我的Python學(xué)習(xí)資料

說了這么多Python的好處溯捆,接下來分享一點Python的學(xué)習(xí)資料
當(dāng)然,最好的Python學(xué)習(xí)材料就是Python文檔PEP
相應(yīng)的厦瓢,如果你想要學(xué)習(xí)某個python擴展第三方庫提揍,它的官方文檔永遠應(yīng)該是你的第一選擇學(xué)習(xí)資料,只要在搜索引擎上打上對應(yīng)庫的名字煮仇,一般都能找到它的documents劳跃。

教材:

MOOC:

最后浙垫,有幾個程序員應(yīng)該知道的網(wǎng)站

轉(zhuǎn)載請注明原地址和出處

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末刨仑,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子夹姥,更是在濱河造成了極大的恐慌杉武,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辙售,死亡現(xiàn)場離奇詭異轻抱,居然都是意外死亡,警方通過查閱死者的電腦和手機旦部,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門祈搜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人士八,你說我怎么就攤上這事容燕。” “怎么了婚度?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵蘸秘,是天一觀的道長。 經(jīng)常有香客問我陕见,道長秘血,這世上最難降的妖魔是什么味抖? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任评甜,我火速辦了婚禮,結(jié)果婚禮上仔涩,老公的妹妹穿的比我還像新娘忍坷。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布佩研。 她就那樣靜靜地躺著柑肴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪旬薯。 梳的紋絲不亂的頭發(fā)上晰骑,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天,我揣著相機與錄音绊序,去河邊找鬼硕舆。 笑死,一個胖子當(dāng)著我的面吹牛骤公,可吹牛的內(nèi)容都是我干的抚官。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼阶捆,長吁一口氣:“原來是場噩夢啊……” “哼凌节!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起洒试,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤倍奢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后垒棋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體娱挨,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年捕犬,在試婚紗的時候發(fā)現(xiàn)自己被綠了跷坝。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡碉碉,死狀恐怖柴钻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情垢粮,我是刑警寧澤贴届,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站蜡吧,受9級特大地震影響毫蚓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜昔善,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一元潘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧君仆,春花似錦翩概、人聲如沸牲距。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽牍鞠。三九已至,卻和暖如春评姨,著一層夾襖步出監(jiān)牢的瞬間难述,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工吐句, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留龄广,地道東北人。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓蕴侧,卻偏偏與公主長得像择同,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子净宵,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容