天才教育網(wǎng)合作機(jī)構(gòu) > 編程語言培訓(xùn)機(jī)構(gòu) > Python培訓(xùn)機(jī)構(gòu) >

天才領(lǐng)路者

歡迎您!
朋友圈

400-850-8622

全國統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:編程語言培訓(xùn)資訊 > Python培訓(xùn)資訊 > python+類方法入門教程

python+類方法入門教程

日期:2019-08-18 11:01:55     瀏覽:353    來源:天才領(lǐng)路者
核心提示:Python是一種功能很強(qiáng)大的語言,對于零基礎(chǔ)學(xué)習(xí)Python還是有難度的,但只要學(xué)習(xí)方法對,入門還是很快噠。下面介紹幾種學(xué)習(xí)Python的方法。

Python是一種功能很強(qiáng)大的語言,對于零基礎(chǔ)學(xué)習(xí)Python還是有難度的,但只要學(xué)習(xí)方法對,入門還是很快噠。下面介紹幾種學(xué)習(xí)Python的方法。以下是小編為你整理的python+類方法入門教程 ?

首先是書籍,通過書籍學(xué)習(xí),雖然速度會有些慢,但知識具體,可以掌握很多細(xì)節(jié),一旦入門后,后面進(jìn)步就很快了,下面介紹給大家一本書,是以前我學(xué)習(xí)Python時用的書,感覺還挺不錯噠。

python+類方法入門教程

?

然后就是借助網(wǎng)絡(luò)學(xué)習(xí),網(wǎng)上有很多視頻課程,而且有很多是免費(fèi)噠,網(wǎng)絡(luò)視頻比較直觀,入門快。給大家推薦一個視頻,網(wǎng)易云課堂里有個零基礎(chǔ)入門學(xué)習(xí)python的視頻,是免費(fèi)的,我之前也看過,挺不錯噠 ?

還有就是加一些qq群或是論壇,里面的知識雖然不全面,但對于知識的擴(kuò)寬還是很有幫助噠。 ?

*說說我的學(xué)習(xí)經(jīng)驗,書籍學(xué)習(xí)的方法比較扎實,網(wǎng)絡(luò)視頻學(xué)習(xí)的方法入門比較快,論壇可以作為知識的補(bǔ)充渠道,當(dāng)然,如果想學(xué)精,唯有多多實踐一條途徑。 ?

優(yōu)點(diǎn)是什么

Python世界最棒的地方之一,就是大量的第三方程序包。同樣,管理這些包也非常容易。按照慣例,會在 requirements.txt 文件中列出項目所需要的包。每個包占一行,通常還包含版本號。這里有一個例子 ?

Python 程序包有一個缺陷是,它們默認(rèn)會進(jìn)行全局安裝。我們將要使用一個工具,使我們每個項目都有一個獨(dú)立的環(huán)境,這個工具叫virtualenv。我們同樣要安裝一個更高級的包管理工具,叫做pip,他可以和virtualenv配合工作。 ?

首先,我們需要安裝pip。大多數(shù)python安裝程序已經(jīng)內(nèi)置了easy_install(python默認(rèn)的包管理工具),所以我們就使用easy_install pip來安裝pip。這應(yīng)該是你*一次使用easy_install 了。如果你并沒有安裝easy_install ,在linux系統(tǒng)中,貌似從python-setuptools 包中可以獲得。 ?

如果你使用的Python版本高于等于3.3, 那么Virtualenv 已經(jīng)是標(biāo)準(zhǔn)庫的一部分了,所以沒有必要再去安裝它了。 ?

下一步,你希望安裝virtualenv和virtualenvwrapper。Virtualenv使你能夠為每個項目創(chuàng)造一個獨(dú)立的環(huán)境。尤其是當(dāng)你的不同項目使用不同版本的包時,這一點(diǎn)特別有用。Virtualenv wrapper 提供了一些不錯的腳本,可以讓一些事情變得容易。 ?

當(dāng)virtualenvwrapper安裝后,它會把virtualenv列為依賴包,所以會自動安裝。 ?

打開一個新的shell,輸入mkvirtualenv test 。如果你打開另外一個shell,則你就不在這個virtualenv中了,你可以通過workon test 來啟動。如果你的工作完成了,可以使用deactivate 來停用。 ?

循環(huán)語句的應(yīng)用

舉個例子如果我們要生產(chǎn)一個list [1,2,3,4,5,6,7,8,9,10] 我們可以使用range(1,11)來表示,如果直接寫range(11) 是從0開始,我們可以演示一下。print range(11)print range(1,11)print range(8,11) ?

然后我們想一下 如果要表示[1*1,2*2,3*3,4*4.....100*100]要怎么做呢?好肯定是要利用到循環(huán)的概念,正常的寫法是這樣的: ?

a = [] #定義一個空的列表for x in range(1,101): #假設(shè)X在從1開始循環(huán)到100 a.append(x * x) # 進(jìn)行一次添加操作 x* xprint a

?

作為一個程序員,就要是使用最短的代碼*效的完成程序表達(dá)的功能,如果使用循環(huán)寫的話會感覺比較繁瑣,特別是邏輯能力不太強(qiáng)的朋友,我們可以使用一行語句代替循環(huán),我們測試看看 ?

print [x * x for x in range(1,101)] ?

當(dāng)然除了計算之外,我們還可以做一些比較特殊的字符串操作,比如: ?

print [m + n for m in 'ABC' for n in 'XYZ'] ?

我們可以看到我們把A B C 都加了一遍XYZ 如果要用正常的循環(huán)也是可以完成的就是了,這樣的操作更加簡單便捷。 ?

常用爬蟲案例

首先我們先新建一個頻道,我給它命名為大眾點(diǎn)評,然后在頻道配置里輸入我們想要爬取數(shù)據(jù)的網(wǎng)址,需要在頻道配置處輸入想要得到數(shù)據(jù)的網(wǎng)址,大眾點(diǎn)評需要開啟cookie,“基本配置”-“頻道屬性”里能開啟cookie。 ?

現(xiàn)在默認(rèn)模板(1)就是我們要的網(wǎng)站頁面,鼠標(biāo)放在醫(yī)院標(biāo)題處如圖,從左下角能看到醫(yī)院的網(wǎng)址鏈接。 ?

現(xiàn)在點(diǎn)一下右上角的采集預(yù)覽,我們能得到整個頁面的所有網(wǎng)頁鏈接,下拉滾動條到這個位置就會發(fā)現(xiàn)跟上圖相同格式的鏈接,這就是我們需要的所有醫(yī)院的鏈接。 ?

我們用不到的需要過濾一下,可以通過地址過濾和標(biāo)題過濾方法篩選。 ?

點(diǎn)擊軟件右上角模板抽取配置里面的鏈接抽取,里面有地址過濾和標(biāo)題過濾兩個選項,點(diǎn)擊地址過濾,過濾規(guī)則選擇包含,過濾串內(nèi)輸入想要得到的醫(yī)院鏈接,后面這串?dāng)?shù)字我們用“d”表示,用“e”表示結(jié)束,例如https://www.dianping.com/shop/de,這樣就能采集網(wǎng)頁內(nèi)所有這種格式的網(wǎng)頁鏈接。

當(dāng)我們想要采集的網(wǎng)頁下面有翻頁的鏈接,就必須配置翻頁。除了在右上角默認(rèn)模板處抽取我們想要的得到的醫(yī)院鏈接外,還要再新建一個鏈接抽取,抽取頁面翻頁的地址。

我們繼續(xù)從采集預(yù)覽處得到翻頁的鏈接,過濾規(guī)則選擇包含,通過觀察發(fā)現(xiàn)幾個鏈接的相同點(diǎn),輸入到過濾串里就能得到想要的翻頁鏈接了。 ?

下面我們隨便點(diǎn)進(jìn)一個醫(yī)院主頁內(nèi),復(fù)制鏈接建立下一層級模板,在默認(rèn)模板(2)的示例地址內(nèi)輸入醫(yī)院主頁的鏈接,得到模板二 ?

因為我們需要采集該醫(yī)院所有用戶評論,所以我們找到下面的“更多點(diǎn)評”,通過剛剛地址過濾的方法,過濾出更多點(diǎn)評的鏈接,并建立模板(3),示例地址輸入剛剛過濾的得到的更多點(diǎn)評的網(wǎng)址。 ?

注:點(diǎn)擊鏈接抽取,看左下角關(guān)聯(lián)模板處,一定要關(guān)聯(lián)到下一層級的模板,如果是翻頁的鏈接抽取,要關(guān)聯(lián)自身模板,否則會數(shù)據(jù)采集失敗。

如果本頁不是您要找的課程,您也可以百度查找一下: