A. Jesse Jiryu Davis 是紐約 MongoDB 的工程師。他編寫了異步 MongoDB Python 驅(qū)動程序 Motor,也是 MongoDB C 驅(qū)動程序的開發(fā)領(lǐng)袖和 PyMongo 團隊成員。 他也為 asyncio 和 Tornado 做了貢獻,本文在已經(jīng)在《linux就該這么學》官網(wǎng)發(fā)布。以下是小編為你整理的python腳本爬蟲入門
如先定義一個列表
a = [123,'456']
一個是int類型,一個是str類型
添加一個元素,使用append
比如a.append(789)
括號中的就是要添加的元素
在指定位置添加元素,使用insert
比如a.insert(1,'ABC')
括號中前面的是指定位置,后面的是要插入添加的元素
注意:位置從0開始,比如當前[123, '456', 789]
123是位置0,'456'是位置1,789是位置3
insert(1.'ABC')的意思是,在位置1插入'ABC',而位置1和之后的都往后挪動一位
先定義一個列表
a = [123, 'ABC', '456', 789, 123]
刪除指定對象,使用remove
比如:a.remove(123)
注意:它不會把列表里面的所有123都刪,只會刪除最前面的與一個
3
如果你刪除的指定對象不存在的話,那么會報錯
比如:列表沒有999這個元素,你非要刪除這個元素的話,會報錯
如何去下載
百度搜索“Python”,在官網(wǎng)中選擇Python2.7,在選擇列表項上雙擊即可下載;(Ps:雖然現(xiàn)在Python已經(jīng)出到3.6版本,但由于版本差別不會特別大,而且公司項目使用的是舊版本的2.x,所以還是先從2.x開始)
雙擊下載好的Python2.7,進入安裝界面,選擇軟件的使用用戶,默認下一步即可;
設(shè)置Python2.7的安裝目錄,一般都為系統(tǒng)根目錄下(C盤),默認即可;
進入程序組件安裝界面,拉取下拉框,選擇安裝組件“Add python.exe to Path”,然后點擊“Next”,默認安裝即可;
不多時,即可看到安裝完成界面
此外,由安裝了組件“Add python.exe to Path”也不需再配置Python的環(huán)境變量,它已經(jīng)自動配置好了,查看如圖可知;
測試Python2.7是否已經(jīng)正確安裝完成,按下“win”+“R”鍵,輸入“cmd”,點擊確定,在彈出的命令行窗口中輸入“Python”命令,即可看到電腦中已經(jīng)安裝好的Python;
python的優(yōu)點
簡單,python主張的是極簡主義,學python就像在學英語一樣。
易學,學習python并不難,入門很快很簡單,比c++,java容易多了。
開源,python是免費開源產(chǎn)品,你可以自由地發(fā)布python這個軟件,不用擔心盜版和侵權(quán)。
自動內(nèi)存管理,內(nèi)存溢出一直以來都是很頭疼的事情,而python則是自己自動管理內(nèi)存的。
可以移植 ,python無論在windows和linux上都可以直接運行、。
可擴展,python還可以嵌入其他的語言,比如java和c++等。
但同時python也有自己的缺點,那就是運行的速度比起c++來說速度是慢了10倍的。
異步代碼
還記得我們對你許下的承諾么?我們可以寫出這樣的異步代碼,它既有回調(diào)方式的高效,也有多線程代碼的簡潔。這個結(jié)合是同過一種稱為協(xié)程coroutine的模式來實現(xiàn)的。使用 Python3.4 標準庫 asyncio 和一個叫“aiohttp”的包,在協(xié)程中獲取一個網(wǎng)頁是非常直接的( @asyncio.coroutine 修飾符并非魔法。事實上,如果它修飾的是一個生成器函數(shù),并且沒有設(shè)置 PYTHONASYNCIODEBUG 環(huán)境變量的話,這個修飾符基本上沒啥用。它只是為了框架的其它部分方便,設(shè)置了一個屬性 _is_coroutine 而已。也可以直接使用 asyncio 和裸生成器,而沒有 @asyncio.coroutine 修飾符):
@asyncio.coroutine def fetch(self, url): response = yield from self.session.get(url) body = yield from response.read()
它也是可擴展的。在作者 Jesse 的系統(tǒng)上,與每個線程 50k 內(nèi)存相比,一個 Python 協(xié)程只需要 3k 內(nèi)存。Python 很容易就可以啟動上千個協(xié)程。
協(xié)程的概念可以追溯到計算機科學的遠古時代,它很簡單,一個可以暫停和恢復(fù)的子過程。線程是被操作系統(tǒng)控制的搶占式多任務(wù),而協(xié)程的多任務(wù)是可合作的,它們自己選擇什么時候暫停去執(zhí)行下一個協(xié)程。
有很多協(xié)程的實現(xiàn)。甚至在 Python 中也有幾種。Python 3.4 標準庫 asyncio 中的協(xié)程是建立在生成器之上的,這是一個 Future 類和“yield from”語句。從 Python 3.5 開始,協(xié)程變成了語言本身的特性(“PEP 492 Coroutines with async and await syntax” 中描述了 Python 3.5 內(nèi)置的協(xié)程)。然而,理解 Python 3.4 中這個通過語言原有功能實現(xiàn)的協(xié)程,是我們處理 Python 3.5 中原生協(xié)程的基礎(chǔ)。具體詳細的配置圖解請參考http://www.linuxprobe.com/asyncio-cooperative-network-2.html
要解釋 Python 3.4 中基于生成器的協(xié)程,我們需要深入生成器的方方面面,以及它們是如何在 asyncio 中用作協(xié)程的。
初級會計職稱中級會計職稱經(jīng)濟師注冊會計師證券從業(yè)銀行從業(yè)會計實操統(tǒng)計師審計師高級會計師基金從業(yè)資格稅務(wù)師資產(chǎn)評估師國際內(nèi)審師ACCA/CAT價格鑒證師統(tǒng)計資格從業(yè)
一級建造師二級建造師消防工程師造價工程師土建職稱房地產(chǎn)經(jīng)紀人公路檢測工程師建筑八大員注冊建筑師二級造價師監(jiān)理工程師咨詢工程師房地產(chǎn)估價師 城鄉(xiāng)規(guī)劃師結(jié)構(gòu)工程師巖土工程師安全工程師設(shè)備監(jiān)理師環(huán)境影響評價土地登記代理公路造價師公路監(jiān)理師化工工程師暖通工程師給排水工程師計量工程師
人力資源考試教師資格考試出版專業(yè)資格健康管理師導游考試社會工作者司法考試職稱計算機營養(yǎng)師心理咨詢師育嬰師事業(yè)單位教師招聘公務(wù)員公選考試招警考試選調(diào)生村官
執(zhí)業(yè)藥師執(zhí)業(yè)醫(yī)師衛(wèi)生資格考試衛(wèi)生高級職稱護士資格證初級護師主管護師住院醫(yī)師臨床執(zhí)業(yè)醫(yī)師臨床助理醫(yī)師中醫(yī)執(zhí)業(yè)醫(yī)師中醫(yī)助理醫(yī)師中西醫(yī)醫(yī)師中西醫(yī)助理口腔執(zhí)業(yè)醫(yī)師口腔助理醫(yī)師公共衛(wèi)生醫(yī)師公衛(wèi)助理醫(yī)師實踐技能內(nèi)科主治醫(yī)師外科主治醫(yī)師中醫(yī)內(nèi)科主治兒科主治醫(yī)師婦產(chǎn)科醫(yī)師西藥士/師中藥士/師臨床檢驗技師臨床醫(yī)學理論中醫(yī)理論