Python作為一門新型的編程語言(一般常用作腳本語言)很受歡迎,畢竟相對其他的編程語言(Java ,C#等)來說比較容易入手。那么,在學習玩入門Python的時候,應該從哪方面入手,學習流程是怎樣的呢?以下是小編為你整理的如何學習python系統(tǒng) ?
基礎知識:學習每一種新的編程語言都是從最基本的開始,對于python而言也是需要先學習其基礎知識。
?
python的基礎知識包括:變量和數據類型,List和Tuple,條件判斷和循環(huán),Dict和Set, 函數,切片,迭代和列表生成式。 ?
注意:學習基礎知識切莫著急,一定要打好基礎,這樣才會更好的應用python。 ?
進階知識:學完掌握基礎知識之后,就要學習進階知識了。 ?
python的進階知識包括:函數式編程,模塊,面向對象編程基礎,類的繼承和定制類。 ?
python裝飾器:裝飾器是很重要的一個知識點。 ?
關于裝飾器需要涉及到函數作用域.閉包的使用和裝飾器的概念及使用。 ?
如何搭建環(huán)境
學習爬蟲首先學習Python,建議通過**mooc和《笨方法學Python》來實現入門,那本書的內容可以有所取舍。通過這兩個途徑再上網上針對性地查找相關內容完全可以入門,重點在于理解“面向對象”。 ?
爬蟲入門首先要明白一些網絡技術,了解TCP/IP參考模型,并且對應用層的HTTP協議的方法和工作原理有一定的認識。爬蟲爬取網頁內容,大多數網頁服務由HTTP協議實現。 ?
正式學習爬蟲庫urllib和正則表達式,urllib靈活性很高,并且和你所學的網絡原理、HTTP原理非常貼合,利于新手學習,正則表達式看看內容,再看幾個實例就應該會用了,不推薦看亂七八糟的教程和MOOC(效果非常差,講的跨度太大),推薦書籍《精通Python網絡爬蟲 核心技術、框架與項目實戰(zhàn) 》(韋瑋)。同樣是選擇性的閱讀。 ?
學習完成之后,多加實踐,推薦實戰(zhàn)項目:1、爬取漫畫網上的一部漫畫的所有圖片,并用PowerPoint做成PDF 2、爬取電影下載網站上的所有電影下載鏈接并整理到Excel。能獨立完成這兩個實戰(zhàn)項目,恭喜你已經成功入門! ?
常見的函數應用
交換變量 ?
x = 6
y = 5
x, y = y, x
print x
>>> 5
print y
>>> 6 ?
if 語句在行內
print "Hello" if True else "World"
>>> Hello ?
連接
下面的*一種方式在綁定兩個不同類型的對象時顯得很cool。 ?
nfc = ["Packers", "49ers"] ?
afc = ["Ravens", "Patriots"] ?
print nfc + afc ?
>>> ['Packers', '49ers', 'Ravens', 'Patriots'] ?
print str(1) + " world"
>>> 1 world
print `1` + " world"
>>> 1 world
print 1, "world"
>>> 1 world
print nfc, 1
>>> ['Packers', '49ers'] 1
數字技巧
#除后向下取整
print 5.0//2
>>> 2
# 2的5次方
print 2**5
>> 32
注意浮點數的除法
print .3/.1
>>> 2.9999999999999996
print .3//.1
>>> 2.0 ?
數值比較 ?
這是我見過諸多語言中很少有的如此棒的簡便法 ?
x = 2
if 3 > x > 1:
print x
>>> 2
if 1 < x > 0:
print x
>>> 2
5 ?
同時迭代兩個列表 ?
nfc = ["Packers", "49ers"] ?
afc = ["Ravens", "Patriots"]
?
for teama, teamb in zip(nfc, afc): ?
print teama + " vs. " + teamb ?
>>> Packers vs. Ravens ?
>>> 49ers vs. Patriots ?
Web方向的練手項目
這個其實是肯定不用多少的了。Python的練手項目就是可以做一個網站了。我們可以做一個屬于自己的博客。在做博客的時候,我們可以鞏固的知識點是 ?
Html+CSS+JS的基礎知識,以及熟練的運用Python的Web開發(fā)框架(例如Django或者Flask)做出一個屬于自己的網站。 ?
也就是我們常說的網絡爬蟲??梢哉业揭粋€自己喜歡的網站。試著抓取一些網站數據,在抓取數據的過程中,你會遇到例如 反抓取 需要登陸 驗證碼驗證以及IP檢測等多種問題。但這恰恰不就是提高的過程么?;蛟S,你也可能寫一個自己的“小百度”呢、 ?
不要覺得太難。我們可以從一個簡單的項目開啟。驗證碼就是一個圖片。我們是不是可以試著識別一下驗證碼上面的文字?不要覺得麻煩,也不要覺得太過簡單。所有復雜的事情都是從簡單開始的。學習驗證碼識別對于我們寫網絡爬蟲是不是特別有用呢?在后期深入的過程中,你還可以做一個圖像識別軟件。 ?
是不是覺得現在手機軟件中的智能聊天軟件很神奇。你同樣可以做一個屬于自己的聊天機器人。前期我們可以做一個應答式的,也就是所有的會話就是存儲在數據庫中。后期的話可以學習人工智能學習。讓你的機器人更加智能。 ?
使用Python你可以非常方便的實現一個網絡服務器和瀏覽器的功能。通過網絡編程項目的實踐。對于網絡應用以及網絡協議的理解將會是一個非常寶貴的經驗。 ?
隨著互聯網的高速發(fā)展。深度學習 區(qū)塊鏈等等高新技術詞匯涌入我們的眼前。Python現在的主要方向也正是向著人工智能方向邁進。所以一些人工智能的算法以及人工智能框架的學習 也同樣的是我們可以作為練手的項目。