在學(xué)習(xí)完P(guān)ython的基礎(chǔ)知識之后,有很多朋友為自己接下來要干什么感到迷茫。不知道應(yīng)該通過什么樣的項目來鍛煉自己編程水平和思維能力。接下來我就給大家說幾個適合Python的新手項目和練手項目,Python練手項目有哪些 跟我往下看。以下是小編為你整理的自學(xué)python教程 ?
Web方向的練手項目 ?
這個其實是肯定不用多少的了。Python的練手項目就是可以做一個網(wǎng)站了。我們可以做一個屬于自己的博客。在做博客的時候,我們可以鞏固的知識點是 ?
Html+CSS+JS的基礎(chǔ)知識,以及熟練的運用Python的Web開發(fā)框架(例如Django或者Flask)做出一個屬于自己的網(wǎng)站。
?
做一個網(wǎng)絡(luò)數(shù)據(jù)抓取工具 ?
也就是我們常說的網(wǎng)絡(luò)爬蟲??梢哉业揭粋€自己喜歡的網(wǎng)站。試著抓取一些網(wǎng)站數(shù)據(jù),在抓取數(shù)據(jù)的過程中,你會遇到例如 反抓取 需要登陸 驗證碼驗證以及IP檢測等多種問題。但這恰恰不就是提高的過程么。或許,你也可能寫一個自己的“小百度”呢、 ?
做一個圖像識別的項目 ?
不要覺得太難。我們可以從一個簡單的項目開啟。驗證碼就是一個圖片。我們是不是可以試著識別一下驗證碼上面的文字?不要覺得麻煩,也不要覺得太過簡單。所有復(fù)雜的事情都是從簡單開始的。學(xué)習(xí)驗證碼識別對于我們寫網(wǎng)絡(luò)爬蟲是不是特別有用呢?在后期深入的過程中,你還可以做一個圖像識別軟件。 ?
做一個Python聊天機(jī)器人 ?
是不是覺得現(xiàn)在手機(jī)軟件中的智能聊天軟件很神奇。你同樣可以做一個屬于自己的聊天機(jī)器人。前期我們可以做一個應(yīng)答式的,也就是所有的會話就是存儲在數(shù)據(jù)庫中。后期的話可以學(xué)習(xí)人工智能學(xué)習(xí)。讓你的機(jī)器人更加智能。 ?
指令的調(diào)用
有的時候我們可以有其他的方法需要調(diào)用類中的信息,但是每次都執(zhí)行一次就會感覺很繁瑣 比如: ?
def Print_score(std): print ('%s:%s'% (std.name ,std.score))print Print_score(bat) ?
上面我們可以看出通過定義成績表我們調(diào)用到了學(xué)生的姓名和成績,我們可以通過函數(shù)來訪問這些數(shù)據(jù)。但是每個實例都有的話執(zhí)行起來就要寫很多的代碼。我們可以通過封裝的方式把類中需要的給直接封裝在類中進(jìn)行調(diào)用。 ?
好的 是這樣,我們可以從外部直接調(diào)用類中的方法。相當(dāng)于是封裝了邏輯,直接在類的內(nèi)部定義好了,調(diào)用會感覺比較容易。封裝的另外一個好處,我們可以給Student這個類增加新的方法,比如get_grade: ?
def get_grade(self): if self.score > 90: return 'A' elif self.score >= 60: return 'B' else: return 'C' ?
python應(yīng)用特性
數(shù)據(jù)類型 ?
常用的數(shù)據(jù)類型:數(shù)字(number),字符串(string),list(數(shù)組),tuple(元組),dict(字典) ?
數(shù)字(number) ?
數(shù)字主要有:int(有符號整型),long(長整型),float(浮點數(shù)),complex(復(fù)數(shù)) ?
var1 = 1(int) ?
var2 = 51924361L(long) ?
var3 = 1.2(float) ?
var4 = 3e+26J(complex) ?
字符串 ?
字符串是使用單引號或者雙引號標(biāo)識起來的,單引號或者雙引號內(nèi)部可以放數(shù)字、字母、下劃線 ?
str1 = "123456789" ?
str2 = '我們都在學(xué)Python'
?
數(shù)組和元組 ?
List(列表)和Tuple(元組) 是 Python 中使用最頻繁的數(shù)據(jù)類型。 ?
列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)。它支持字符,數(shù)字,字符串甚至可以包含列表(即嵌套)。 ?
列表用 [ ] 標(biāo)識,是 python 最通用的復(fù)合數(shù)據(jù)類型。 ?
元組用()標(biāo)識 , 內(nèi)部元素用逗號隔開。但是元組不能二次賦值,相當(dāng)于只讀列表。 ?
List(列表)和Tuple(元組) 區(qū)別:List是可變序列,Tuple是不可變序列 ?
說白了就是List增刪改查都可以,但是tuple只能查看(不可變嘛) ?
字典 ?
字典嘛,就是根據(jù)鍵(key)去查找值(value) ?
?
開發(fā)環(huán)境準(zhǔn)備 這里我選用Visual Studio 2017作為Python的開發(fā)工具,要求在Visual Studio中安裝Python環(huán)境支持
在進(jìn)行機(jī)器學(xué)習(xí)開發(fā)時我們需要給python環(huán)境安裝所需要的外部依賴包
sklearn,numpy,spicy
引入sklearn包,創(chuàng)建數(shù)據(jù)特征模型
from sklearn import tree
#特征模型數(shù)據(jù),[身高,胡子] 1-有 0-無
feature =[[178,1],[155,0],[180,1],[166,0],[168,1],[152,0]]
#特征標(biāo)簽值
label=['male''female','fale','female','fale','female']
我們采用決策樹進(jìn)行分類預(yù)測
#創(chuàng)建一個決策樹對象
clf = tree.DecisionTreeClassifier();
#將特征數(shù)據(jù)交個決策樹進(jìn)行判斷
clf = clf.fit(feature,label)
進(jìn)行新的數(shù)據(jù)預(yù)測
#預(yù)測一組新的數(shù)據(jù)
clf.predict([[158,0]])
clf.predict([[190,1]])
完成的Python的代碼如下:
from sklearn import tree
#特征模型數(shù)據(jù),[身高,胡子] 1-有 0-無
feature =[[178,1],[155,0],[180,1],[166,0],[168,1],[152,0]]
#特征標(biāo)簽值
label=['male','female','fale','female','fale','female']
#創(chuàng)建一個決策樹對象
clf = tree.DecisionTreeClassifier();
#將特征數(shù)據(jù)交個決策樹進(jìn)行判斷
clf = clf.fit(feature,label)
#預(yù)測一組新的數(shù)據(jù)
r1=clf.predict([[158,0]])
print("Data[158,0] is label for:")
print(r1)
r2=clf.predict([[190,1]])
print("Data[190,1] is label for:")
print(r1)